官网与说明
安装过程见:安装过程
翻译时间: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.so
到root/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
译者说三句
- 祝你好运,享受编译
- 有问题上网查
- 欢迎留言,看到回复