计算化学公社

标题: centos7.9安装cp2k出现gfortran: error [打印本页]

作者
Author:
wjybit    时间: 2024-7-1 20:59
标题: centos7.9安装cp2k出现gfortran: error
在服务器centos7.9上没有sudo权限编译cp2k,执行命令./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=install --with-plumed=install --with-gcc=install --with-intel=no --with-elpa=no,成功后,make psmp版本出现gfortran报错(图一),查阅资料发现是gfortran版本过低导致的报错,但是gfortran -v命令后显示这个(图二),请问大佬是什么原因啊
作者
Author:
zjxitcc    时间: 2024-7-2 10:49
不管什么操作系统,编译CP2K都不要求 必须有root权限,没有也可以照常编译。CentOS 7.9下编译CP2K也不是 一定要高版本GCC、不是一定要GCC-13。比如我写的这篇《离线安装CP2K-2022.2_Intel编译器版》,只要求gcc-4.8.5(但要有Intel编译器)。不过若你一定要搞些操作 导致需要一些额外的东西/权限,那是另一码事。

就当前报错情况而言,在当前编译步骤下,像是cp2k编译工具没有识别到刚装的gcc-13,有一种可能是你忘记了在make ARCH=local前执行source install/setup(注意是可能,不是说你一定做错了啥)。你需要在编译CP2K的那个终端里执行source install/setup,然后运行gfortran --version查看是否有gcc-13生效,然后编译CP2K。


作者
Author:
wjybit    时间: 2024-7-2 11:00
zjxitcc 发表于 2024-7-2 10:49
不管什么操作系统,编译CP2K都不要求 必须有root权限,没有也可以照常编译。CentOS 7.9下编译CP2K也不是 一 ...

谢谢大佬指点,我确实执行了source install/setup,gfortran --version也显示GCC-13生效了,换了其他11.2和9.3版本的gcc还是会报错
作者
Author:
zjxitcc    时间: 2024-7-2 11:06
wjybit 发表于 2024-7-2 11:00
谢谢大佬指点,我确实执行了source install/setup,gfortran --version也显示GCC-13生效了,换了其他11.2 ...

不要换来换去,这样容易导致编译器和动态库混乱,回答者回答的时候也没法对症下药。先一条路走到黑,实在不行再把CP2K目录全删了重来一遍。在编译CP2K的终端里执行
which mpifort # 看看是不是CP2K下的openmpi-4.1.5
ldd `(which mpifort)`  # 看看是动态库依赖是低版本gcc还是刚装的gcc-13




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3