翻译自官网:NuWro的安装方法

官网与说明

安装过程见:安装过程
翻译时间:2020年4月22日

由于网页随时可能变化,所以以官网为准

获得NuWro

想要获得最新版本的NuWro,可以使用:

git clone https://github.com/NuWro/nuwro.git

想要获得一个稳定发行版,可以使用:

git clone -b [release tag] https://github.com/NuWro/nuwro.git

例如:

git clone -b nuwro_17.01 https://github.com/NuWro/nuwro.git

警告:git 版本低于1.7.10(2012年5月)不支持git clone -b [release tag],你最好升级一下系统。为了得到特定的发行版,你可以使用 git checkout,例如:

git clone https://github.com/NuWro/nuwro.git
git checkout tags/nuwro_17.01

依赖软件

ROOT
PYTHIA6

构建带有pythia6支持的ROOT

  • 下载ROOT源代码
  • 确保ROOT依赖都安装好了
  • 下载pythia6源代码
  • 构建pythia6共享库(libPythia6.so)
tar -xzvf pythia6.tar.gz
cd pythia6 && ./makePythia6.linux
pythia6需要gfortran的Fortran 编译器
  • 复制libPythia6.soroot/lib文件夹
tar -zxvf root_v*.source.tar.gz
mkdir root/lib
cp pythia6/libPythia6.so root/lib
  • configure ROOT
cd root && ./configure --with-pythia6-libdir=lib

译者注:现在ROOT改用cmake安装了,未测试configure可不可以

  • make ROOT
make 

对于ROOT 6.16.00,你可以尝试下面的脚本:

#make temporary directory for downloading sources
mkdir ~/install
cd ~/install
#dowload pythia6 sources 
wget https://root.cern.ch/download/pythia6.tar.gz
tar xzf pythia6.tar.gz
cd pythia6
#modify ./makePythia6.linux to use gfortran in place of g77
sed -i 's/g77/gfortran/g' ./makePythia6.linux
#make libPythia6.so
bash ./makePythia6.linux
#download ROOT sources
cd ~/install
wget https://root.cern/download/root_v6.16.00.source.tar.gz
tar zxf root_v6.16.00.source.tar.gz
#create build directory
mkdir ~/root
cd ~/root
mkdir ~/root/lib
#copy pythia6 library to build directory
cp ~/install/pythia6/libPythia6.so  ~/root/lib
#cmake ROOT with PYTHIA6 enabled
cmake -DPYTHIA6_LIBRARY=~/root/lib/libPythia6.so -Dpyhia6=ON ~/install/root-6.16.00
#make it
make -j4

设置环境变量:

export ROOTSYS=(path to root directory)
export PATH=$PATH:$ROOTSYS/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib

你可以使用ROOT提供的脚本bin/thisroot.sh设置环境变量,也可以每次登陆终端执行source bin/thisroot.sh,还可以把上述命令写入~/.bashrc或者~/.bash_proflie

macOS支持

经过测试,NuWro可以在下面的编译条件下很好地工作:

x86_64-apple-darwin15.6.0
clang-800.0.42.1
root-5.34.36

如果你在macOS上安装,你应该记得以下差异:

  • 编译pythia6的时候,应该使用./makePythia6.macosx64
  • 编译之后pythia6的共享库是libPythia6.dylib
  • bash预执行脚本叫做~/.profile

提个醒,已知可能出现的问题如下:

  • 使用ROOT6配置的NuWro还没在macOS测试
  • 当通过Homebrew安装gfortran的时候,libPythia6.dylib不能被很好地连接到C编译器,你需要把lib库文件路径添加到LIBRARY_PATH。例如:把下列命令添加到~/.profile(具体命令依赖于gfortran安装在哪)
    export LIBRARY_PATH=/usr/local/lib/gcc/6

编译NuWro

一旦你把支持pythia6的ROOT安装好之后,只需要这样编译NuWro:

tar -zxvf nuwro-*.tar.gz
cd nuwro && make

一点小问题

如果你使用gcc5编译ROOT的时候,遇到关于

 undefined references to std::__cxx11

你可以加上这样一个选项:

-D_GLIBCXX_USE_CXX11_ABI=0

译者说三句

  • 祝你好运,享受编译
  • 有问题上网查
  • 欢迎留言,看到回复
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值