Le-voyeur / autres

second-hand
0 stars 0 forks source link

集群上安装Laura++全过程 #8

Open Le-voyeur opened 4 years ago

Le-voyeur commented 4 years ago

1.非root用户安装gcc

首先安装三个依赖包 gmp、mpfr、mpc 1.gmp $tar -jxvf gmp-4.3.2.tar.bz2

$cd gmp-4.3.2

$./configure --prefix=/publicfs/ucas/user/yangyh/opt/gmp-4.3.2/ #gmp安装路径

$make

$make check #这一步可以不要

$make install

2.mpfr tar -jxvf mpfr-2.4.2.tar.bz2

$cd mpfr-2.4.2

$./configure --prefix=/publicfs/ucas/user/yangyh/opt/mpfr-2.4.2/ --with-gmp=/publicfs/ucas/user/yangyh/opt/gmp-4.3.2/ #congfigure后面是mpfr安装路径及依赖的gmp路径

$make

$make check #这一步可以不要

$make install

3.mpc

$tar -zxvf mpc-0.8.1.tar.gz

$cd mpc-0.8.

$ ./configure --prefix=/publicfs/ucas/user/yangyh/opt/mpc-0.8.1/ --with-gmp=/publicfs/ucas/user/yangyh/opt/gmp-4.3.2/ --with-mpfr=/publicfs/ucas/user/yangyh/opt/mpfr-2.4.2/

$make

$make check #这一步可以不要

$make install

设置环境变量 $LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/publicfs/ucas/user/yangyh/opt/gmp-4.3.2/lib/:/publicfs/ucas/user/yangyh/opt/mpfr-2.4.2/lib/:/publicfs/ucas/user/yangyh/opt/mpc-0.8.1/lib/:$LD_LIBRARY_PATH

万事俱备开始安装gcc

  1. gcc $tar -jxvf gcc-4.8.5.tar.bz2

$cd gcc-4.8.5

$./configure --prefix=/publicfs/ucas/user/yangyh/gcc-4.8.5/ --enable-threads=posix --disable-checking --disable-multilib --with-mpc=/publicfs/ucas/user/yangyh/mpc-0.8.1/ --with-gmp=/publicfs/ucas/user/yangyh/gmp-4.3.2/ --with-mpfr=/publicfs/ucas/user/yangyh/mpfr-2.4.2/

make -j 32 #类似于使用32个线程编译,速度要快很多,此过程需要较长时间,中间不要间断。

查看核数 cat /proc/cpuinfo| grep "cpu cores"| uniq

make install

更改~/.bashrc文件 在文件中加入一下两句将gcc加入到环境变量中。
 export PATH=/publicfs/ucas/user/yangyh/opt/gcc-4.8.5/bin/:$PATH

export LD_LIBRARY_PATH=/publicfs/ucas/user/yangyh/opt/gcc-4.8.5/lib/:/publicfs/ucas/user/yangyh/opt/gcc-4.8.5/lib64/:$LD_LIBRARY_PATH

期间出现的主要错误为

make[1]: [stage1-bubble] Error 2 make[1]: Leaving directory `/publicfs/ucas/user/yangyh/gcc/gcc-build' make: [all] Error 2

解决方法 1)根据提示看出是LIBRARY_PATH环境变量不应该包含有当前安装GCC的路径,即我想要安装gcc路径为/publicfs/ucas/user/yangyh/gcc-4.8.5/,那个echo $LIBRARY_PATH就不应该包含此路径。 2)若echo $LIBRARY_PATH输出结果为/usr/lib/x86_64-linux-gnu/:(注意结尾冒号),则同样会报错,解决办法就是去掉冒号/usr/lib/x86_64-linux-gnu/。 3)解决办法unset LIBRARY_PATH; ./configure -v

安装cmake

tar -zvxf cmake-xxx.tar.gz

cd cmake

./bootstrap #如果集群中安装过cmake,可以省掉这一步 ./configure —prefix=/publicfs/ucas/user/yangyh/opt make make install

测试 cmake —version

添加路径 export PATH="$PATH:/publicfs/ucas/user/yangyh/opt/cmake/bin

安装root-6.12.06

wget 下载 root_v6.12.06.source.tar.gz tar -xzvf root_v6.12.06.source.tar.gz mkdir root mkdir build cd build cmake ../root-6.12.06 遇见各种错误 于是采用以下操作

cmake \ -DCMAKE_INSTALL_PREFIX=$HOME/ROOT/root -- -Dfail-on-missing=ON \ -Dbuiltin_fftw3=ON \ -Dminuit2=ON \ -Dgsl_shared=ON \ -Dgdml=ON \ -Dmt=ON \ -Dbuiltin_xrootd=ON\ -Dopengl=ON \ -Dpython=ON \ -Droofit=ON \ -Dtmva=ON \ -Dunuran=ON \ -Dxft=ON \ -Dbuiltin_lzma=ON \ -Dpython=ON \ -Dxml=ON \ -Dmathmore=ON \ -Dx11=ON \ -Dgviz=OFF \ -Dfortran=OFF \ -Dmysql=OFF \ -Dbonjour=OFF \ -Dkrb5=ON \ -Dssl=ON \ -Dxml=ON \ -Dcastor=OFF \ -Dimt=ON \ -Drfio=OFF \ -Doracle=OFF \ -Dodbc=OFF \ -Dpgsql=OFF \ -Dpythia6=OFF \ -Dsqlite=OFF \ -Dbuiltin_tbb=ON \ -Dldap=OFF \ -Dsrp=OFF \ -Ddcache=OFF \ -Dpythia8=OFF \ -Dchirp=OFF \ -Dgfal=OFF \ -Dvdt=ON \ -Dbuiltin_vdt=ON \ -Dglite=OFF \ -Ddavix=OFF \ -Dfitsio=OFF \ -Dhdfs=OFF \ ../root-6.12.06

cmake -- build . -- -j14 cmake --build . --target install -- -j14

安装Laura++3.5.0

wget tar -xzvf cd Laura++

更改 Laura++/src/LauChebychevPdf.cc line 108-114 and 134-136 make

cd example make GenFit3pi 出错 /usr/bin/ld: cannot find -lImt collect2: error: ld returned 1 exit status

发现是root/lib下没有 LibImt 库 于是重新安装root 加上参数-Dimt=ON,但是原始 ./configure [arch]的方法,不知道如何加入 搞定!