Centos7下Fluka的安装教程(保姆级)
1 安装Fluka
首先大家去官网下载,在下载之前需要注册为fluka用户,下载之后就可以将其放在合适的位置进行解压,命令如下:
tar -zxvf fluka.XXXX.tgz
在进行安装之前我们可以阅读Fluka的官网教程的安装那一部分,可知需要gfortran或者g77的支持,因此需要安装gfortran,一般Centos系统会将这些开发工具提前安装好,如果没有安装好,可以利用下面的命令进行安装,为了方便把gcc和g++也安装上了:
yum -y install gcc gcc-c++ gcc-gfortran
接下来就是设置环境变量,在编译之前需要设置两个环境变量FLUPRO和FLUFOR,利用下面的命令先打开.bashrc文件:
cd ~
vim .bashrc
然后在文件末尾添加环境变量:
export FLUPRO=/hom/../fluka安装目录
export FLUFOR=gfortran
接下来就可以编译了,启动终端,然后定位到源文件目录下,运行下面的命令:
cd /pathtofluka/src/
make
运行完命令后在fluka路径下的Bin目录下会产生FLUKA的可执行文件(fluka和flukadpm)和一些辅助程序。,至此安装就结束了,接下来我们就可以到examples文件下进行测试,测试我们的程序是否安装成功,运行以下命令进行测试:
cd /pathtofluka/examples
../bin/rfluka example
然而迎接我们的却是error、error、error,错误如下所示:
什么鬼,这还gfortran的版本不一致了,我感觉你们搞我!!!
网上一查Centos默认安装的gcc是gcc4.*.*,不支持以上版本的,啥意思难道我的centos7只能用gfortran4版本的,其他版本的gfortran都无法使用,这不是在搞心态嘛,难道我要换成UBuntu系统,重新装系统、装软件,想到这些…,我打算放弃了…
2 Centos7中gfortran升级版本
但是思来想去作为伟大的Centos系统连这个问题解决不了,岂不是要笑掉大牙,决定重新在百度一波,果然还是让我放弃了当时不切实际的想法(换Ubuntu装软件),还是找到了解决的办法,可以使用devtoolset工具来提高版本,这里由于需要的是gfortran9版本,如果小伙伴需要其他版本也可以以此类推,好了废话不多数,就开始吧。
采用安装SCL源后安装devtoolset-9,执行下面的命令:
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils devtoolset-9-gcc-gfortran
接下来启用devtoolset-9:
scl enable devtoolset-9 bash
source /opt/rh/devtoolset-9/enable
然后在命令行下进行测试gfortran的版本,运行命令:
gfortran -v
哈哈,终于吧gfortran9版本给运行出来了,当然上述的两条指令只会是的gfortran临时编译的时候起作用,如果我们想在以后都可以使用,则需要在.bashrc文件下添加下面的语句:
vim .bashrc# -------------添加的语句----------------------------export CC=/opt/rh/devtoolset-8/root/usr/bin/gccexport CPP=/opt/rh/devtoolset-8/root/usr/bin/cppexport CXX=/opt/rh/devtoolset-8/root/usr/bin/c++export FORTRAN=/opt/rh/devtoolset-8/root/usr/bin/gfortran# ----------------结束-------------------------------source .bashrc
然后我们打开命令行查看gfortran版本的时候就显示:
好的,终于把那个问题给解决了,接下来我们重新需要对fluka进行编译安装,运行下面的命令:
cd /pathtofluka/srcmake cleanmake
然后到examples目录下运行:
cd /pathtofluka/examples../bin/rfluka example
这一次才算大功告成,修成正果呀!!!
最后祝各位科研顺利、工作顺利!