计算化学公社

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

[Amber] AMBER18使用Intel Parallel Studio XE 2019 Linux编译的错误求解

[复制链接 Copy URL]

133

帖子

0

威望

2904

eV
积分
3037

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 gsbear 于 2018-11-30 00:59 编辑

Amber18的源代码编译安装,使用GNU编译器编译安装完全正常,但是选用Intel编译器编译时候,在configure步骤
./configure intel
其中进入到C和Fortran混合编译阶段测试出错,提示找不到库文件
/opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/intel64_lin/libifport.so.5
从出错命令看应该是icc的链接参数-lifport对应,有大侠知道这个是Intel编译器的什么问题引起的吗?
这个文件ls明明是存在的啊,为什么会找不到呢?
[root@localhost intel64_lin]# ls -l /opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/intel64_lin/libifport.so.5
-rwxr-xr-x. 1 root root 210422 Aug  3 19:35 /opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/intel64_lin/libifport.so.5


以下是configure出错信息:
-------------------------------------------------------------------------------------------------------------------------------------------------
Testing mixed C/Fortran compilation:
     icc -fPIC  -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -std=gnu99 -c -o testp.c.o testp.c
     ifort -fPIC  -O0 -c -o testp.f.o testp.f
     icc -fPIC  -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o testp testp.c.o testp.f.o -lifport -lifcore -lsvml
ld: warning: libimf.so, needed by /opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/intel64_lin/libifport.so.5, not found (try using -rpath or -rpath-link)
ld: warning: libintlc.so.5, needed by /opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/intel64_lin/libifport.so.5, not found (try using -rpath or -rpath-link)
ld: testp: hidden symbol `__intel_cpu_features_init_x' in /opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/intel64_lin/libirc.a(cpu_feature_disp.o) is referenced by DSO
ld: final link failed: Bad value
./configure2: line 2642: ./testp: No such file or directory
Error: Unable to compile mixed C/Fortran code.
       Please check your compiler settings and configure flags.
Configure failed due to the errors above!


23

帖子

0

威望

140

eV
积分
163

Level 3 能力者

21#
发表于 Post on 2020-3-18 01:15:46 | 只看该作者 Only view this author
gsbear 发表于 2020-3-17 10:55
估计是Intel编译器带的一些库和库路径设置的问题,用GNU的编译器编译就好了,不用折腾

OK,多谢楼主的调试经验

133

帖子

0

威望

2904

eV
积分
3037

Level 5 (御坂)

20#
 楼主 Author| 发表于 Post on 2020-3-17 10:55:48 | 只看该作者 Only view this author
liuzejiang 发表于 2020-3-17 07:46
楼主的问题我也遇到了,用intel2020无法编译amber18并行版
首先串行版是能编译的,但是在装好Openmpi4.0.3 ...

估计是Intel编译器带的一些库和库路径设置的问题,用GNU的编译器编译就好了,不用折腾

23

帖子

0

威望

140

eV
积分
163

Level 3 能力者

19#
发表于 Post on 2020-3-17 07:46:27 | 只看该作者 Only view this author
本帖最后由 liuzejiang 于 2020-3-17 07:59 编辑

楼主的问题我也遇到了,用intel2020无法编译amber18并行版
首先串行版是能编译的,但是在装好Openmpi4.0.3准备编译并行版的时候,也是提示“c/Fortran混合编译失败,找不到libifport.so.5。然后重新去编译串行版也出现同样错误,去掉openmpi的环境变量就又能编译串行版了。
我想是Intel2020和openmpi4.0.3存在一些冲突?



219

帖子

0

威望

3678

eV
积分
3897

Level 5 (御坂)

18#
发表于 Post on 2019-1-21 21:27:09 | 只看该作者 Only view this author
gsbear 发表于 2018-12-17 22:05
看来Anaconda下载有问题的不止我一个,应该是普遍问题了

国内有很多镜像站点。

133

帖子

0

威望

2904

eV
积分
3037

Level 5 (御坂)

17#
 楼主 Author| 发表于 Post on 2018-12-17 22:05:16 | 只看该作者 Only view this author
Daniel_Arndt 发表于 2018-12-6 03:54
感觉Anaconda提供的下载的网址应该是被土啬了。我已经有好多次下载Anaconda时,最后速度为0,不得不科学上 ...

看来Anaconda下载有问题的不止我一个,应该是普遍问题了

517

帖子

1

威望

2414

eV
积分
2951

Level 5 (御坂)

16#
发表于 Post on 2018-12-6 03:54:24 | 只看该作者 Only view this author
感觉Anaconda提供的下载的网址应该是被土啬了。我已经有好多次下载Anaconda时,最后速度为0,不得不科学上网去下载的经历了。

133

帖子

0

威望

2904

eV
积分
3037

Level 5 (御坂)

15#
 楼主 Author| 发表于 Post on 2018-12-3 19:27:22 | 只看该作者 Only view this author
abdoman 发表于 2018-12-3 11:18
“The results above pertain to a "real-world" setup (multiple serial runs were performed concurrentl ...

如果要用Intel编译器编译估计得换回老版本2015的编

213

帖子

1

威望

2414

eV
积分
2647

Level 5 (御坂)

14#
发表于 Post on 2018-12-3 11:18:25 | 只看该作者 Only view this author
“The results above pertain to a "real-world" setup (multiple serial runs were performed concurrently on separate cores of the same CPU, and the GNU compiler we used results in about 30% lower performance on the Intel CPUs).
from: http://ambermd.org/GPUPerformance.php
Intel编译器貌似比较好。

133

帖子

0

威望

2904

eV
积分
3037

Level 5 (御坂)

13#
 楼主 Author| 发表于 Post on 2018-12-1 11:13:43 | 只看该作者 Only view this author
虽然最终因为在编译到nblist.c第883行一条OpenMP指令的兼容性错误而放弃了用Intel编译器编译Amber18,但是还是把整个编译过程中遇到的一些问题大体叙述一下,以便后来者能有参考吧:

首先,Amber18用GNU编译器是可以简单顺利编译通过的,具体步骤就不重复了,按照Amber18手册里P23-24页的7个步骤进行就好。
其间可能会遇到的一个问题是在第4步configure的时候会要求由configure脚本自动从网上下载并安装Miniconda的python环境,但是下载的过程中开始速度还可以,但是后面下载速度就越来越慢,直至完全卡死不动,我至少是在这里卡了5次,实在忍无可忍,拿出翻q工具从外网下载了Miniconda的安装程序手动安装好以后,在configure的时候通过--with-python参数指定好手动安装的Miniconda的bin目录(主要是设置python解释器路径)就可以跳过下载的过程。Miniconda安装包也一并传到网盘吧,需要的同学自取。(链接见文末)

接下来说一下在Intel编译器下遇到的问题吧:
./configure intel
首先遇到的问题是在顶楼帖子里说到的在混编测试中遇到的找不到libimf.so以及libintlc.so.5两个库文件的问题,这个问题可能对Intel编译器可能比较普遍,网上有不少的博文说到类似的问题,解决方法就是在编译选项里加上-limf -lintlc -lm使得链接器能够正确的把对应库文件的链接加上,本来通常的做法是设置环境变量$LD_LIBRARY_PATH让链接器加上相关参数,但是貌似Amber18的configure脚本并没有使用$LD_LIBRARY_PATH环境变量,这就需要自己分析configure脚本加上相关链接参数了。
分析以后发现Amber18解压后根目录的configure脚本只是一个总脚本,具体的执行脚本是在$AMBER_HOME/amber18/src/configure2(此处$AMBER_HOME为Amber18的解压目录)
分析configure2发现,Intel编译器的配置参数从1510行开始
#################### icc #######
intel)
    test -z "$pic" && pic="-fpic"
    # following appears to work on Intel compilers version 11,2013..
    flibs_arch="-lifport -lifcore"

1514行这里对应的变量flibs_arch就是编译链接库的参数,在其中添加 -limf -lintlc -lm,并保存
flibs_arch="-lifport -lifcore -limf -lintlc -lm"

重新./configure intel
发现之前顶楼帖子里提示的问题解决了,但是混编测试编译好的testp在运行时候提示找不到库还是出错,这个问题比较好解决,是运行时动态链接库的问题,具体做法是在/etc/ld.so.conf.d/目录下自己建一个文本文件,把Intel编译器的库路径/opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/intel64_lin写进去,保存以后通过/sbin/ldconfig –v命令刷新加载库的路径就可以了(此步骤需要root权限),至此configure就顺利完成了。

本来以为接下来的make install会很顺利了,哪知道编译快完成的时候出了7楼的那个OpenMP指令不兼容的问题,对于OpenMP函数和预处理指令不是很熟悉,实在没有时间为了解决这个兼容性问题再去分析OpenMP跟Intel编译器哪里不兼容,于是就此打住。

最后,把Miniconda的安装程序,Amber18手册和我修改过的configure2脚本以及从Sob老大那分享的AmberTools18安装程序一起提供大家共享吧
感谢Sob老大无私的把那么多Amber版本的分享给大家

链接:https://pan.baidu.com/s/1duwr8MeKBI2PzRll4o7vWg 密码:cdv2

133

帖子

0

威望

2904

eV
积分
3037

Level 5 (御坂)

12#
 楼主 Author| 发表于 Post on 2018-11-30 13:41:26 | 只看该作者 Only view this author
sobereva 发表于 2018-11-30 11:43
我还没试过编译18,不好评论。编译以往的版本都很顺利。

有时候编译器太新也容易有问题,因为编译器每 ...

根据楼上同学描述,应该是新版本编译器的问题,相同的问题楼上同学用2016和2018编译Amber16也遇到了,那应该是个普遍现象,但是还2015编译就通过了,说明应该是新版本编译器兼容方面的问题了。

133

帖子

0

威望

2904

eV
积分
3037

Level 5 (御坂)

11#
 楼主 Author| 发表于 Post on 2018-11-30 13:35:37 | 只看该作者 Only view this author
lonewolf659 发表于 2018-11-30 12:15
ld: warning: libimf.so, needed by /opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/i ...

另外,我在用2016和2018编译Amber16的时候,也遇到过在configure check C和Fortran混编的时候出错。不是因为连不到库,而至编译好的testp执行出错,导致configure不过。最后换成Intel Parallel Studio 2015才编译过。最后也没搞明白。。。

这个看样子就是Amber和高版本Intel编译器的问题了,我跟你的问题一样,编译好以后testp执行出错,后来我把Intel编译器库的路径在/etc/ld.so.conf.d/下面写了一个加载Intel库的路径文件,再通过/sbin/ldconfig –v命令刷新加载库的路径就通过configure了

133

帖子

0

威望

2904

eV
积分
3037

Level 5 (御坂)

10#
 楼主 Author| 发表于 Post on 2018-11-30 13:33:26 | 只看该作者 Only view this author
lonewolf659 发表于 2018-11-30 12:15
ld: warning: libimf.so, needed by /opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/i ...

我是修改amber16/src/configure2脚本,在里边加了-lmif -lm等几个链接参数就通过的,只是后来编译到有个C程序的时候里面有一行OpenMP的并行指令过不去就放弃了,不想去改源码了。

25

帖子

0

威望

581

eV
积分
606

Level 4 (黑子)

9#
发表于 Post on 2018-11-30 12:15:48 | 只看该作者 Only view this author
ld: warning: libimf.so, needed by /opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/intel64_lin/libifport.so.5, not found (try using -rpath or -rpath-link)
ld: warning: libintlc.so.5, needed by /opt/intel/compilers_and_libraries_2019.0.117/linux/compiler/lib/intel64_lin/libifport.so.5, not found (try using -rpath or -rpath-link)

从这两行看,还是intel的库没有link到。修改LD_LIBRARY_PATH试试,注意是“libimf.so”和"libintlc.so"。
我的Intel Parallel Studio 2018里面是都在的。
另外,我在用2016和2018编译Amber16的时候,也遇到过在configure check C和Fortran混编的时候出错。不是因为连不到库,而至编译好的testp执行出错,导致configure不过。最后换成Intel Parallel Studio 2015才编译过。最后也没搞明白。。。

6万

帖子

99

威望

6万

eV
积分
125136

管理员

公社社长

8#
发表于 Post on 2018-11-30 11:43:24 | 只看该作者 Only view this author
gsbear 发表于 2018-11-30 11:17
多谢社长指教,库链接的问题您怎么看?是我自己歪楼了还是也没有更好的解决办法?

我还没试过编译18,不好评论。编译以往的版本都很顺利。

有时候编译器太新也容易有问题,因为编译器每个版本都可能做一些变动,但是程序开发者还来不及考虑最新版本编译器的变动并使之与之兼容。我一般建议用比起程序发布日期早一些(但不能早特别多)的编译器。但当前报错未必是这个所致。
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

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

GMT+8, 2026-2-20 14:44 , Processed in 0.170569 second(s), 21 queries , Gzip On.

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