答案1
我不是这些东西的用户,所以我无法准确回答你的问题,但由于你没有得到任何其他东西,我可以提出一些建议。
您从以下链接链接的说明自动 AliRoot 安装页面不幸的是,它依赖于一个黑匣子安装程序,几乎没有明显的选项。我猜贝尔扎诺先生认为这是一件好事,但正如我们在这个案例中看到的那样,它可能并不是那么好。
通过正常的构建/安装,您可以选择选择前缀目录。如果你能找到一种方法来做到这一点,你的问题就解决了——只需创建,例如,/opt/geant4
然后安装到那里。这很可能会(又名,应该) 结果/opt/geant4/bin
可能是 a /opt/geant4/lib
,以及其他结果。
当您想要使用 Geant4 而不是 3 时,请使用如下所示的简短 shell 脚本:
#!/bin/sh
installDir=/opt/geant4
export PATH=${installDir}/bin/:$PATH
export LD_LIBRARY_PATH=${installPath}/lib/
然后,您可以添加用于启动应用程序的任何命令并以这种方式运行它或者您可以将其源到您当前的上下文中,source whatever.sh
(缩写形式:. whatever.sh
:)。 如果您只是运行它,变量将不会应用于该上下文。
这将设置 shell 的可执行文件搜索路径,并优先考虑这些内容/opt/geant4
,因此,如果刚刚调用应用程序geant
并且您已经正常安装了版本 3,则执行geant
现在将调用(/opt/geant4/bin/geant
如果存在)。 LD_LIBRARY_PATH
对链接器做了类似的事情,它将可执行文件与它们需要的任何库相关联(我假设 geant 包括其中一些)。
请注意,获取和导出变量将仅适用于您当前的 shell 及其子级(即,它不是通用的),因此您可以同时运行两个版本。
您可能想写信给贝尔扎诺先生并询问他这个问题。如果它只是一个可以应用上述逻辑的更规范的“手动”方法的包装器,那么可能有一种简单的方法来规避黑盒安装程序。如果您点击底部链接的“about.me”页面,我注意到有一个电子邮件地址。如果你参考这个问答,他就会明白我在说什么。