“第10届量子化学波函数分析与Multiwfn程序培训班将于5月4-8日于北京举办,这是一次性完整、系统学习波函数分析的各种理论知识和全面掌握强大的Multiwfn波函数分析程序使用的最不可错过的机会!请点击此链接查看详情和报名方式,欢迎参加!

“第18届北京科音分子动力学与GROMACS培训班” 将于5月23-26日于北京举办。这是一次性全面、系统学习分子动力学模拟知识和最流行的分子动力学程序GROMACS的关键机会!报名正在进行中,请点击此链接查看详情,欢迎参加!

计算化学公社

 找回密码 Forget password
 注册 Register
Views: 624|回复 Reply: 2
打印 Print 上一主题 Last thread 下一主题 Next thread

[CP2K] cp2k2025.2安装错误(undefined reference to mpi_xxx,dftd4.mod)解决

[复制链接 Copy URL]

116

帖子

1

威望

1610

eV
积分
1746

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
最近cp2k培训班要开始了,帮一个要去参加的朋友在ubuntu22.04.5上安装cp2k-2025.2时出现一系列mpi与dbscr的连接错误,如:
  1. usr/bin/ld: /root/cp2k-2025.2/tools/toolchain/install/dbcsr-2.8.0/lib/libdbcsr.a(dbcsr_mpiwrap.F.o): in function __dbcsr_mpiwrap_MOD_mp_world_finalize':/root/cp2k-2025.2/tools/toolchain/build/dbcsr-2.8.0/build-cpu/src/mpi/dbcsr_mpiwrap.F:956: undefined reference to mpi_barrier_
复制代码

环境为gcc11.4.0,安装选项为:
  1. ./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=install --with-plume=install --with-ninja --with-dftd4
复制代码

安装与编译过程参照http://sobereva.com/586。尝试解决了下,发现编译过程中有警告:
  1. f951: Warning: Nonexistent include directory ‘-I’ [-Wmissing-include-dirs]f951: Warning: Nonexistent include directory ‘-I/root/cp2k-2025.2/tools/toolchain/install/dbcsr-2.8.0/include’
复制代码

因此,去检查local.psmp,发现CFLAGS和FCFLAGS中,
  1. -I'/root/cp2k-2025.2/tools/toolchain/install/dbcsr-2.8.0/include'
复制代码

之前有三个空白的“-I''”:
  1. -I'' -I'' -I'' -I'/root/cp2k-2025.2/tools/toolchain/install/dbcsr-2.8.0/include' $(FCDEBFLAGS) $(WFLAGS) $(DFLAGS) -fallow-argument-mismatch
复制代码

将其删除,上述错误消失,然后有可能接下来有可能报错:
  1. /root/cp2k-2025.2/src/qs_dispersion_d4.F:47:8:   47 |    USE dftd4,                           ONLY: d4_model, &      |        1Fatal Error: Cannot open module file ‘dftd4.mod’ for reading at (1): No such file or directory
复制代码

此时可以尝试在CFLAGS和FCFLAGS中添加dftd4.mod的路径:
  1. -I/root/cp2k-2025.2/tools/toolchain/install/dftd4-3.7.0/include -I/root/cp2k-2025.2/tools/toolchain/install/dftd4-3.7.0/include/dftd4/GNU-11.4.0
复制代码

修改上述local.psmp中的两项后可以顺利编译psmp版本。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
sobereva + 5

查看全部评分 View all ratings

187

帖子

1

威望

632

eV
积分
839

Level 4 (黑子)

2#
发表于 Post on 2026-3-24 03:24:48 | 只看该作者 Only view this author
本帖最后由 UW_0728. 于 2026-3-24 03:26 编辑

关于DBCSR的错误

这个Nonexistent include directory的警告和ld的错误没有任何联系。导致出现与DBCSR相关的问题的真正原因如下(见http://bbs.keinsci.com/thread-58673-1-1.html):

若使用toolchain编译的DBCSR,则编译CP2K本体时的MPI相关配置必须与该DBCSR一致,这种情况下无法同时编译psmp和ssmp,否则就会出现你那样的报错,这就是MPI配置对不上导致的;但此时psmp或ssmp中已经有一个编译成功了,报错的只是另一个(是哪一个取决于你编译toolchain时是否加了MPI支持,这里应该是psmp编译成功、ssmp报错)。


(而且最后你也说了,是“可以顺利编译psmp版本”,没有提到ssmp的问题)

至于DFT-D4的问题,主要应当归咎于toolchain安装的毛病,针对目前的2026.1版本而言建议用tblite(内含dftd4)代替单独版的dftd4包。
Failed to load the content due to unknown reasons.

116

帖子

1

威望

1610

eV
积分
1746

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2026-3-24 14:18:09 | 只看该作者 Only view this author
UW_0728. 发表于 2026-3-24 03:24
关于DBCSR的错误

这个Nonexistent include directory的警告和ld的错误没有任何联系。导致出现与DBCSR相 ...

我在本地和某云平台上新建的ubuntu22.04.5上都复现了(有且只有也只有2025.2有这个问题,按照sob老师的教程),单独编译psmp也是相同的报错。ssmp的问题是当时懒得再去看为什么了,毕竟生产环境应用popt/psmp优先。cp2k2025.2用tblite的确貌似也可以消除dftd4的问题,但是,目前看不到非要使用cp2k2025.2这个版本的理由,与其让使用者去折腾编译命令,不如直接用之后的版本。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-4-13 22:26 , Processed in 0.279089 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list