Fluka-cern版本安装过程(RocksCluster版本)

时间:2024-10-30 08:45:55
  1. 安装FLUKA
    1.1. gcc 安装
    Fluka-cern版本要求gcc 7以上,RocksCluster中Centos7的gcc版本为4.8,需要进行升级。考虑到gcc仅使用于fluka程序安装中的编译,不需要同步节点机,故采用了scl的安装方式。安装方式如下:
    //安装centos-release-scl
sudo yum install centos-release-scl
  • 1

//安装devtoolset(注意事项,如果想安装7.版本的,就改成devtoolset-7-gcc,以此类推)

sudo yum install devtoolset-9-gcc*
  • 1

//激活对应的devtoolset
所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

scl enable devtoolset-9 bash
  • 1

注意事项:gcc如果没有切换只对本次会话有效
//切换gcc版本

source /opt/rh/devtoolset-9/enable在这里插入代码片
  • 1

也可以将对应版本的切换命令放在配了环境变量的目录下,需要时随时切换,或者开机自启,例如/etc/profile中添加
source /opt/rh/devtoolset-9/enable
在这里插入图片描述

//也可以直接替换旧的gcc
旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable

mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
gcc --version
g++ --version
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

此种方法安装的目录固定,如果要将gcc安装在不同目录中,则要进行编译,可参考:
/p/36f5d3524240

后续使用过程中发现RocksCluster节点机需要使用gfortran进行编译,安装在opt下的gcc文件不能被找到。因此还是在/share/apps/下进行了重新编译,并且配置了环境变量。具体方法见另外章节
“RocksCluster上Fluka编译环境gcc/gfortran配置”
/weixin_42290322/article/details/115720065

1.2. 安装fluka
在RocksCluster集群中安装软件,考虑到要共享给节点机使用,因此软件安装目录都在/share/apps/中。使用tgz包进行安装。
//将安装文件拷贝放在apps的Download文件夹下

cd /share/apps/
cp ~/ ./Download/
cp ./Download/  ./
tar –xvf 
  • 1
  • 2
  • 3
  • 4

在apps目录下会创建新文件夹

cd /src
make
  • 1
  • 2

这一步会在目录/bin下创建默认的fluka/flukadpm执行文件
配置环境变量,便于后续使用

vi /etc/profile
  • 1

添加语句export PATH=$PATH:/share/apps//bin,如下

source /etc/profile
  • 1

//试运行fluka命令(注意以上软件安装均在root账号下/share/apps目录中
//切换回用户

su zhaojf
  • 1

创建fluka/examples目录,拷贝文件到目录下

cp /share/apps//examples/ ./fluka/examples
cd ~/examples
rfluka 
  • 1
  • 2
  • 3

FLUKA安装成功
 运行中

  1. 安装flair
    flair安装首先要安装依赖的工具,主要有以下:
    python3
    tkinter toolkit
    tcl/tk version 8.5 or greater
    python-imaging
    pydicom
    numpy

2.1. 安装Python 3
新版本的flair使用Python3,而CentoOS7 中使用的是Python2.7. 需要安装Python3 版本
//首先通过yum安装python可能用到的依赖

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
  • 1

//下载源码包

cd /usr/local/src
wget /ftp/python/3.6.8/Python-3.6.
  • 1
  • 2

或者直接官网下载tgz版本
/downloads/source/

//一般Centos用户都将python3安装在/usr/local下,考虑到集群中节点机可能会要使用python,因此本次安装将python3装在了/share/apps下
拷贝python3的安装文件到/share/apps下并解压

tar –zxvf 
  • 1

在此目录中会出现解压后的文件,进入文件夹中

cd 
./configure --prefix=/share/apps/python
//prefix后面是预设安装路径`
make && make install 
//要在下make
  • 1
  • 2
  • 3
  • 4
  • 5

//创建python3和pip3的软连接
//-s后面都是源文件/目录

ln –s /share/apps/python/python3/bin/python3 /usr/bin/python3
ln –s /share/apps/python/python3/bin/pip3 /usr/bin/pip3
  • 1
  • 2

//需要注意的是,以后使用python和pip都需要使用python3和pip3。
//系统使用的python2.7,已经在/usr/bin中存在python了,如果使用mv python ,然后再软连接python3到python的话,会引起yum不能使用(CentOS中yum使用依赖python2.7)。所以建议直接在bin中创建新的软连接命令python3和pip3。
//安装过程中尝试将原有/usr/bin中的python(运行python2的)软连接替换成运行python3,执行yum命令是报错,所以一定不能更改原来系统给python2的软连接。其他处理方法太麻烦。
错误提醒

[root@cluster~]#yum 
file “/usr/bin/yum”,line30
except keyboardinterrupt,e:
SyntaxError: invalid syntax
  • 1
  • 2
  • 3
  • 4

配置python3的环境变量(不确定是否需要,因为没有配置也运行成功,应该是软连接有效)

vi /etc/profile
  • 1

在最后一行添加
export PYTHON_PATH=$PATH:/share/apps/python/python3/bin

输入命令python运行的是CentOS内置安装的python 2.7.5
输入命令python3运行的是新安装的python 3.9.2
见下图:
在这里插入图片描述

2.2. 安装其他依赖
yum install numpy
yum install gnuplot
yum install tk-devel
yum install tcl-devel
yum install python-imaging-tk
pip3 install pydicom
(//一定是pip3,属于python2的pip在系统中没有安装,如果需要,要重新安装;python3自带pip3)

//需要全局安装是使用root,或者sudo。不然会报错permission denied。如果在install后面加 –user则只在该用户生效。考虑是服务器还是用sudo安装吧。
然后到底是使用yum 还是 pip3,其实还是不太确定。以后有机会再进行安装时再尝试。

pip3 install numpy
pip3 install gnuplot
pip3 install tk-devel
pip3 install tcl-devel
pip3 install python-imaging-tk
pip3 install pydicom
……
确定以上工具都安装过,在tar安装flair过程中忽略报错。

//安装完成后可以查看版本
rpm –qa|grep tcl

2.3. 安装flair-geoviewer和flair
rpm 安装flair-geoviewer时报错,苦逼一直报错,无意中查到论坛建议用tar安装。一下子打通任督六脉,安装流程如下:
拷贝tar文件到/share/apps/文件夹下

tar xzvf 
cd 
make
make install
  • 1
  • 2
  • 3
  • 4

本次更新flair-geoviewer-3.1-15.1时,报错,如下图
请添加图片描述
查询g++(在gcc条件下查询c++ compiler的版本),发现c++编译器使用的仍然时旧版本,未更新至gcc-9.3,尝试愚蠢的升级失败:
请添加图片描述
尝试简单有效的目录替换以后运行成功,
操作方法见:RocksCluster上Fluka编译环境gcc/gfortran配置
/weixin_42290322/article/details/115720065?spm=1001.2014.3001.5501
***非常重要:编辑profile文件以后一定要记得
source /etc/profile

请添加图片描述
再次尝试安装flair-geoview成功

确定以上python3工具都安装过,忽略报错,强制安装(这一招牛逼)

rpm –ivh –nodeps 
  • 1

至此安装完成,输入flair,终于跳出久违的窗口。✿✿ヽ(°▽°)ノ✿

在使用tar安装成功以前报错
在这里插入图片描述
查找百度分析原因,Centos自带的CXXABI和GLIBCXX版本太低,软件编译用到了高版本,不兼容。解决方案是更新GLIBC和GLIBCXX,修改/usr/lib64中libstdc++.so.6链接到新库即可.
下载GLIBCXX /debian/pool/main/g/gcc-9(因为系统装的是gcc-9),选择了libstdc+±9-dev_9.3.0-23_amd64.deb。
解压
tar -x libstdc++6_4.9.2-10+deb8u1_amd64.deb
tar -xvf
以上方法经3h尝试,以失败结束。

使用TAR安装就好。终极大招啊!!!
经过inp和flair文件测试,大功告成!!!虽然成功也是糊里糊涂
在这里插入图片描述

此次安装最重要的启发:一定要看论坛!!!