计算化学公社

标题: CP2K编译到make时出错 [打印本页]

作者
Author:
yiranfengbai    时间: 2021-3-26 22:41
标题: CP2K编译到make时出错
各位老师,我按照论坛中方法编译到 "make -j 4 ARCH=local VERSION="ssmp psmp"" 时出错,求助得知是mkl链接问题,但是检查了半天还是找不到解决方法,所以求助帮忙,万分感谢。
centos7.6,gcc,gfortran,g++ 9.3.1,python3.8.5。
错误:
/calc/msi/cp2k-8.1/src/pw/fft/fftw3_lib.F:106:2:

  106 | #endif
      |  1~~~~         
Fatal Error: mkl_version.h: 没有那个文件或目录
compilation terminated.
make[3]: *** [fftw3_lib.o] 错误 1
make[3]: *** 正在等待未完成的任务....
mpif90 -c -march=native -mtune=native -fno-omit-frame-pointer -g  -O3 -funroll-loops  -fopenmp -I'/calc/msi/cp2k-8.1/tools/toolchain/install/openmpi-4.0.5/include'  -m64 -I/opt/intel/composer_xe_2015.2.164/mkl/include -I/opt/intel/composer_xe_2015.2.164/mkl/include/fftw -I'/calc/msi/cp2k-8.1/tools/toolchain/install/fftw-3.3.8/include' -I'/calc/msi/cp2k-8.1/tools/toolchain/install/libint-v2.6.0-cp2k-lmax-5/include' -I'/calc/msi/cp2k-8.1/tools/toolchain/install/libxc-4.3.4/include' -I'/calc/msi/cp2k-8.1/tools/toolchain/install/libxsmm-1.16.1/include' -I'/calc/msi/cp2k-8.1/tools/toolchain/install/elpa-2020.05.001/include/elpa_openmp-2020.05.001/modules' -I'/calc/msi/cp2k-8.1/tools/toolchain/install/elpa-2020.05.001/include/elpa_openmp-2020.05.001/elpa' -I/calc/msi/cp2k-8.1/tools/toolchain/install/spglib-1.16.0/include -fbacktrace -ffree-form -fimplicit-none -std=f2008  -Werror=aliasing -Werror=ampersand -Werror=c-binding-type -Werror=intrinsic-shadow -Werror=intrinsics-std -Werror=line-truncation -Werror=tabs -Werror=target-lifetime -Werror=underflow -Werror=unused-but-set-variable -Werror=unused-variable -Werror=unused-dummy-argument -Werror=conversion -Werror=zerotrip -Wno-maybe-uninitialized -Wuninitialized -Wuse-without-only  -D__LIBXSMM  -D__parallel  -D__MKL -D__FFTW3  -D__LIBINT -D__LIBXC -D__SCALAPACK -D__ELPA -D__PLUMED2 -D__SPGLIB -D__LIBVORI   -D__COMPILE_ARCH="\"local\"" -D__COMPILE_DATE="\"2021年 03月 26日 星期五 22:21:15 CST\"" -D__COMPILE_HOST="\"gong2\"" -D__COMPILE_REVISION="\"git:0b61f2f\"" -D__DATA_DIR="\"/calc/msi/cp2k-8.1/data\"" -D__SHORT_FILE__="\"common/cp_error_handling.F\"" -I'/calc/msi/cp2k-8.1/src/common/' -I'/calc/msi/cp2k-8.1/obj/local/psmp/exts/dbcsr' cp_error_handling.F90


作者
Author:
yiranfengbai    时间: 2021-3-26 22:42
mkl库的环境变量也设过了
source /opt/intel/composer_xe_2015.2.164/mkl/bin/mklvars.sh intel64
export LD_LIBRARY_PATH=/opt/intel/composer_xe_2015.2.164/mkl/lib/intel64:$LD_LIBRARY_PATH
作者
Author:
zjxitcc    时间: 2021-3-26 22:46
yiranfengbai 发表于 2021-3-26 22:42
mkl库的环境变量也设过了
source /opt/intel/composer_xe_2015.2.164/mkl/bin/mklvars.sh intel64
export ...

你看下你的mkl/include/下有没mkl_version.h这个文件,没有的话可能是你的intel编译器太旧了,我看过>=2017都是有的。手头上暂时没有2015,不知道2015有没这个文件
作者
Author:
yiranfengbai    时间: 2021-3-26 23:22
zjxitcc 发表于 2021-3-26 22:46
你看下你的mkl/include/下有没mkl_version.h这个文件,没有的话可能是你的intel编译器太旧了,我看过>=20 ...

感谢您的回复,我刚刚看了/opt/intel/composer_xe_2015.2.164/mkl/includ和
/opt/intel/mkl/includ下面都没有mkl_version.h这个文件。现在是不是需要重新下载新一点的intel呢?或者我能直接找一个mkl_version.h文件放在这里?
作者
Author:
zjxitcc    时间: 2021-3-26 23:27
yiranfengbai 发表于 2021-3-26 23:22
感谢您的回复,我刚刚看了/opt/intel/composer_xe_2015.2.164/mkl/includ和
/opt/intel/mkl/includ下面 ...

如果是集群,一般可以直接module load想要的intel版本;个人机子的话只能卸载、装更新的intel编译器了。
卸载:勿直接rm -rf,而是运行/opt/intel/parallel_studio_xe_2018/(具体路径视你的机器情况而定)下的uninstall.sh脚本进行卸载;

安装更新:论坛上有不少intel编译器资源的帖子,你一搜就有了,里面还带许可证,下载个2019或2020版的装一下。
作者
Author:
yiranfengbai    时间: 2021-3-27 02:56
zjxitcc 发表于 2021-3-26 23:27
如果是集群,一般可以直接module load想要的intel版本;个人机子的话只能卸载、装更新的intel编译器了。
...

是一台服务器,centos7.6系统的。之前编译vasp时安装的intel2015,现在卸载了是不是要重新编译一次vasp吗?
作者
Author:
喵星大佬    时间: 2021-3-27 04:48
yiranfengbai 发表于 2021-3-27 02:56
是一台服务器,centos7.6系统的。之前编译vasp时安装的intel2015,现在卸载了是不是要重新编译一次vasp吗 ...

很明显是的,因为编译vasp的mpi都卸了当然要重来一次咯
作者
Author:
abin    时间: 2021-3-27 08:04
可以同时安装多个版本MKL
作者
Author:
abin    时间: 2021-3-27 08:54
我有编译好的,  
3.4G Feb 11 15:28 cp2k-v8.1-psmp-ssmp-gcc8-mkl-intelMPI-2020.4.304, 全部模块.
1.8G Dec 25 15:59 cp2k-v7.1.0-intel2020u2 模块较少.

分别针对hsw和skx平台优化的静态编译二进制文件.
文件较大, 有偿提供.
需要目标机器root权限才能完成配置.
作者
Author:
yiranfengbai    时间: 2021-3-27 15:48
喵星大佬 发表于 2021-3-27 04:48
很明显是的,因为编译vasp的mpi都卸了当然要重来一次咯

重新安装了intel,设一下路径就行吗?还是说要把VASP卸载了再装一遍呢?
作者
Author:
zjxitcc    时间: 2021-3-27 15:51
yiranfengbai 发表于 2021-3-27 15:48
重新安装了intel,设一下路径就行吗?还是说要把VASP卸载了再装一遍呢?

其实VASP没有卸载这种说法,要么你就删除它的整个文件夹,要么你就删除它上次编译出的文件(有Makefile的话一般会有make clean或make distclean等命令)。然后重新编译一遍VASP。
作者
Author:
yiranfengbai    时间: 2021-3-27 16:02
zjxitcc 发表于 2021-3-27 15:51
其实VASP没有卸载这种说法,要么你就删除它的整个文件夹,要么你就删除它上次编译出的文件(有Makefile的 ...

明白了,我试着重新弄一次,谢谢啦




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