大家好,最近在编译cp2k-7.1遇到一些问题,希望得到大家帮助!
我是根据刘老师 https://www.bilibili.com/video/BV1Y54y1e7Yx 的视频一步一步来编译的,系统是Centos8 (Linux version 4.18.0-193.14.2.el8_2.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)))。gcc,g++, gfortran版本都是官网推荐的8.3.1。利用install_cp2k_toolchain.sh这个脚本来编译:
./install_cp2k_toolchain.sh \
--math-mode=mkl \
--with-openmpi=install \
--with-scalapack=no
但是到了安装SIRIUS的时候报错: ==================== Installing SIRIUS ==================== sirius_6.4.1.tar.gz is found
Installing from scratch into /opt/cp2k-7.1/tools/toolchain/install/sirius-6.4.1
ERROR: (./scripts/install_sirius.sh, line 130) Non-zero exit code detected.
... *.log等重要输出文件已经上传,看起来好像是找不到vdwxc_init_mpi的问题,不知道怎么解决。
这是compile.log的最后一部分: ... -- Checking for one of the modules 'elpa;elpa_openmp' -- Found Elpa: /opt/cp2k-7.1/tools/toolchain/install/elpa-2019.05.001/lib/libelpa.a -- Checking for one of the modules 'libvdwxc>=0.3.0' -- Looking for vdwxc_init_mpi -- Looking for vdwxc_init_mpi - not found CMake Error at /opt/cp2k-7.1/tools/toolchain/install/cmake-3.15.1/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find LibVDWXC (missing: LIBVDWXC_LIBRARIES) (Required is at least version "0.3.0") Call Stack (most recent call first): /opt/cp2k-7.1/tools/toolchain/install/cmake-3.15.1/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) cmake/modules/FindLibVDWXC.cmake:35 (find_package_handle_standard_args) CMakeLists.txt:198 (find_package) ...
这是CMakeError.log的最后输出: ... Linking C executable cmTC_1450c /opt/cp2k-7.1/tools/toolchain/install/cmake-3.15.1/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1450c.dir/link.txt --verbose=1 /opt/cp2k-7.1/tools/toolchain/install/openmpi-4.0.1/bin/mpicc -O2 -ftree-vectorize -g -fno-omit-frame-pointer -march=native -m64 CMakeFiles/cmTC_1450c.dir/CheckSymbolExists.c.o -o cmTC_1450c CMakeFiles/cmTC_1450c.dir/CheckSymbolExists.c.o: In function `main': /opt/cp2k-7.1/tools/toolchain/build/SIRIUS-6.4.1/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8: undefined reference to `vdwxc_init_mpi' collect2: error: ld returned 1 exit status gmake[1]: *** [CMakeFiles/cmTC_1450c.dir/build.make:87: cmTC_1450c] Error 1 gmake[1]: Leaving directory '/opt/cp2k-7.1/tools/toolchain/build/SIRIUS-6.4.1/build/CMakeFiles/CMakeTmp' gmake: *** [Makefile:121: cmTC_1450c/fast] Error 2
File /opt/cp2k-7.1/tools/toolchain/build/SIRIUS-6.4.1/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include </opt/cp2k-7.1/tools/toolchain/install/libvdwxc-0.4.0/include/vdwxc_mpi.h>
int main(int argc, char** argv) { (void)argv; #ifndef vdwxc_init_mpi return ((int*)(&vdwxc_init_mpi))[argc]; #else (void)argc; return 0; #endif }
本人新手,如果还需要提供什么资料请告知~谢谢大家了!
|