计算化学公社

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

[综合交流] Rocky9.3-AMD-7950x下用AOCC编译openmpi和VASP报错

[复制链接 Copy URL]

24

帖子

0

威望

378

eV
积分
402

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 雾雨魔理沙 于 2024-1-10 15:32 编辑

求助:环境Rocky linux9.3,AMD 7950x,GLIBC:ldd (GNU libc) 2.34,gcc 版本 11.4.1,AOCC-4.1.0
参考的贴子http://bbs.keinsci.com/thread-40792-1-1.html

which clang、clang++、flang都有路径显示,但是在编译openmpi-5.0.0和openmpi-4.1.6  时均报错。错误显示:
*** C++ compiler and preprocessor
checking whether the compiler supports GNU C++... yes
checking whether /opt/aocc-compiler-4.1.0/bin/clang++ accepts -g... yes
checking for /opt/aocc-compiler-4.1.0/bin/clang++ option to enable C++11 features... none needed
checking dependency style of /opt/aocc-compiler-4.1.0/bin/clang++... gcc3
checking how to run the C++ preprocessor... /opt/aocc-compiler-4.1.0/bin/clang++ -E
checking if C and C++ are link compatible... no
**********************************************************************
* It appears that your C++ compiler is unable to link against object
* files created by your C compiler.  This generally indicates either
* a conflict between the options specified in CFLAGS and CXXFLAGS
* or a problem with the local compiler installation.  More
* information (including exactly what command was given to the
* compilers and what error resulted when the commands were executed) is
* available in the config.log file in this directory.
**********************************************************************
configure: error: C and C++ compilers are not link compatible.  Can not continue.


此报错已解决:
在此操作前需要验证下which c++和gfortran是否都有路径返回。没有则安装。
-------------------------分割线----------------------------------------------------

现在遇到了第二个问题,在对openMPI  make时,报错信息如下:
make[2]: 进入目录“/opt/openmpi-5.0.0/ompi/tools/ompi_info”
  CC       ompi_info.o
  CC       param.o
  CCLD     ompi_info
ld.lld: error: undefined reference due to --no-allow-shlib-undefined: __extendhfsf2
>>> referenced by ../../../ompi/.libs/libmpi.so
ld.lld: error: undefined reference due to --no-allow-shlib-undefined: __truncsfhf2
>>> referenced by ../../../ompi/.libs/libmpi.so
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Makefile:1472:ompi_info] 错误 1
make[2]: 离开目录“/opt/openmpi-5.0.0/ompi/tools/ompi_info”
make[1]: *** [Makefile:2798:all-recursive] 错误 1
make[1]: 离开目录“/opt/openmpi-5.0.0/ompi”
make: *** [Makefile:1532:all-recursive] 错误 1



-------------------------分割线----------------------------------------------------
用openMPI 4.1.6的版本上面的报错不会出现。

但是继续编译vasp时又出现了warnning,
(用的是makefile.include.aocc_ompi_aocl,BLAS、LAPACK等修改了相应路径,修改了VASP_TARGET_CPU ?= -march=znver4)

warning如下:
ld.lld: warning: parser/libparser.a: archive member 'locproj.tab.h' is neither ET_REL nor LLVM bitcode
make[2]: 离开目录“/opt/vasp/vasp.6.4.2/build/std”
make[1]: 离开目录“/opt/vasp/vasp.6.4.2/build/std”

make test 和试跑都出现了error,如下:
running    4 mpi-ranks, on    1 nodes
distrk:  each k-point on    4 cores,    1 groups
distr:  one band on    4 cores,    1 groups
vasp.6.4.2 20Jul23 (build Dec 28 2023 17:05:26) complex                        
POSCAR found type information on POSCAR C
POSCAR found :  1 types and       2 ions
scaLAPACK will be used
LDA part: xc-table for Pade appr. of Perdew
-----------------------------------------------------------------------------
|                                                                             |
|     EEEEEEE  RRRRRR   RRRRRR   OOOOOOO  RRRRRR      ###     ###     ###     |
|     E        R     R  R     R  O     O  R     R     ###     ###     ###     |
|     E        R     R  R     R  O     O  R     R     ###     ###     ###     |
|     EEEEE    RRRRRR   RRRRRR   O     O  RRRRRR       #       #       #      |
|     E        R   R    R   R    O     O  R   R                               |
|     E        R    R   R    R   O     O  R    R      ###     ###     ###     |
|     EEEEEEE  R     R  R     R  OOOOOOO  R     R     ###     ###     ###     |
|                                                                             |
|     VERY BAD NEWS! internal error in subroutine SGRGEN: Too many            |
|     elements 49                                                             |
|                                                                             |
|       ---->  I REFUSE TO CONTINUE WITH THIS SICK JOB ... BYE!!! <----       |
|                                                                             |
-----------------------------------------------------------------------------
Warning: ieee_inexact is signaling
    1
Warning: ieee_inexact is signaling
    1
--------------------------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:
  Process name: [[40421,1],2]
  Exit code:    1
--------------------------------------------------------------------------

请问是什么原因导致的?不知道是不是和openmpi有关,该如何解决呢?

——————更新————————
第三个问题,也就是vasp运行报错,发现只要把POSCAR晶格坐标改成——小数点后只保留3位,就可以正常跑任务!但是多一位都会报错
有老师同学知道是什么原因导致的吗?





makefile.include

2.21 KB, 下载次数 Times of downloads: 8

testsuite.log

377.7 KB, 下载次数 Times of downloads: 1

3

帖子

0

威望

29

eV
积分
32

Level 2 能力者

36#
发表于 Post on 2024-6-4 17:17:51 | 只看该作者 Only view this author
雾雨魔理沙 发表于 2024-6-4 15:16
你好,当时是改用了openMPI 4.1.6就不出现了

好的,谢谢!

24

帖子

0

威望

378

eV
积分
402

Level 3 能力者

35#
 楼主 Author| 发表于 Post on 2024-6-4 15:16:12 | 只看该作者 Only view this author
kkTina 发表于 2024-6-4 14:08
您好,请问您最后一个问题make的时候出现是怎么解决的

你好,当时是改用了openMPI 4.1.6就不出现了

3

帖子

0

威望

29

eV
积分
32

Level 2 能力者

34#
发表于 Post on 2024-6-4 14:08:20 | 只看该作者 Only view this author
您好,请问您最后一个问题make的时候出现是怎么解决的

30

帖子

0

威望

361

eV
积分
391

Level 3 能力者

33#
发表于 Post on 2024-5-11 18:49:10 | 只看该作者 Only view this author
chantau 发表于 2024-5-11 15:46
我使用的也是rocky9,没有问题。请说明一下你的整个的流程,比如openmpi是否是使用aocc编译器编译的,编 ...

您好,软件安装前机子是用的官网文件新按的Rocky9.3完整版,yum安了"Development Tools" 和 "gcc-Toolset-13”。
然后是参考https://www.bilibili.com/opus/870747530826088515 B站的这篇文章做的。
aocc和aocl直接用的官网rpm包yum localinstall安装。aocc和aocl环境变量配置检查没问题,初次之外没有手动配置过其他额外环境变量,只有Rocky系统初始的。
./configure CC=xxx/clang CXX=xxx/clang++ FC=xxx/flang --prefix=xxx/ 用的都是绝对路径。
然后就是make时候发生以前的报错。

30

帖子

0

威望

361

eV
积分
391

Level 3 能力者

32#
发表于 Post on 2024-5-11 18:43:17 | 只看该作者 Only view this author
chantau 发表于 2024-5-11 15:46
我使用的也是rocky9,没有问题。请说明一下你的整个的流程,比如openmpi是否是使用aocc编译器编译的,编 ...

编译方法参考的B站的文章,只是系统有个差别。https://www.bilibili.com/opus/870747530826088515
安装软件之前,机子是刚用rocky官网文件装完系统,然后yum安装了"Development Tools" 和 ”gcc-Toolset-13"。
aocc用的官网下载的aocc-compiler-4.2.0-1.x86_64.rpm,aocl用的aocl-linux-aocc-4.2.0-1.x86_64.rpm。
俩包安装直接用的yum localinstall安装,然后配置环境变量setenv_AOCC.sh(aocc)和amd-libs.cfg(aocl)。
环境变量配置完成,which clang clang++ flang都没问题,直接输入clang命令会反馈clang:error:no input file。而账户除这俩之外再没配置其他环境变量,剩下的都是rocky初始的和yum安装。
openmpi5.0.3 configure的时候是 ./configure CC=xxx/xxx/xx/clang CXX=xxx/xxx/xx/clang++ FC=xxx/xxx/xx/flang --prefix=xxx/xx,采用的都是绝对路径指向clang,clang++和flang。
感觉和各教程做的都没差别,gcc/c++/gfortran分别用11和13版都试了,但是make的时候都是最后显示上面哪个错误,编译不成功。
关于你说的openmpi bin和openmpi lib该如何检查?什么情况属于正常?可以的话希望不吝赐教,因为关于这俩好像都没看到有教程或其他资料显示需要关注。

5

帖子

0

威望

218

eV
积分
223

Level 3 能力者

31#
发表于 Post on 2024-5-11 15:46:18 | 只看该作者 Only view this author
ginlpein 发表于 2024-5-11 08:26
您好,请问您使用的是什么系统?我用Rocky9.3 EPYC 7763的机子。AOCC和AOCL用的AMD官网4,2的rpm包,yum l ...

我使用的也是rocky9,没有问题。请说明一下你的整个的流程,比如openmpi是否是使用aocc编译器编译的,编译前是否配置好aocc、aocl、openmpi bin、openmpi lib的环境变量。不然也不好判断。

30

帖子

0

威望

361

eV
积分
391

Level 3 能力者

30#
发表于 Post on 2024-5-11 08:26:09 | 只看该作者 Only view this author
本帖最后由 ginlpein 于 2024-5-11 08:43 编辑
chantau 发表于 2024-5-6 12:37
参考了一下官网:https://blog.vasp.at/forum/viewtopic.php?t=19390,最后一个回复,更改一下makefile.inc ...

您好,请问您使用的是什么系统?我用Rocky9.3 EPYC 7763的机子。AOCC和AOCL用的AMD官网4,2的rpm包,yum localinstall 完成安装。但是在openmpi5.0.3编译的时候make各种错误(有和楼主一样的,退回4.1.6也不管用),make/make all都过不去,根本没法make install。
请问你用的系统和机子大概是咋样的?然后你编译前的软件环境大概是啥样的?我希望能够参考一下~

被openmpi编译搞了好久,一直搞不定。。。
make时候标红主要错误比如这俩,我用gcc11和gcc13俩版本试了都这毛病。。。

clang-16: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang-16: error: no such file or directory: './.libs/libevent.so'

其他一般错误又有一堆:
make[4]: *** [Makefile:1485: prted/libprrte_la-prted_comm.lo] Error 1
make[4]: Leaving directory '/opt/openmpi-5.0.3/3rd-party/prrte/src'
make[3]: *** [Makefile:1705: all-recursive] Error 1
make[3]: Leaving directory '/opt/openmpi-5.0.3/3rd-party/prrte/src'
make[2]: *** [Makefile:801: all-recursive] Error 1
make[2]: Leaving directory '/opt/openmpi-5.0.3/3rd-party/prrte'
make[1]: *** [Makefile:1406: all-recursive] Error 1
make[1]: Leaving directory '/opt/openmpi-5.0.3/3rd-party'
make: *** [Makefile:1533: all-recursive] Error 1

make那步有些炸。。。大佬有没法子看出门道,或提供一下你的环境配置我参考一下。。。

5

帖子

0

威望

218

eV
积分
223

Level 3 能力者

29#
发表于 Post on 2024-5-6 12:37:20 | 只看该作者 Only view this author
参考了一下官网:https://blog.vasp.at/forum/viewtopic.php?t=19390,最后一个回复,更改一下makefile.include文件就ok了,不需要退到openmpi4.1。我用的是openmpi5.0.3,AOCC+AOCL4.2,编译的VASP6.4.2。

9

帖子

0

威望

212

eV
积分
221

Level 3 能力者

28#
发表于 Post on 2024-3-24 23:41:35 | 只看该作者 Only view this author
第三个问题我也遇到了,但是用AOCC+OpenMPI+OpenMP编译就不会出现,我怀疑是gcc的问题。

7

帖子

0

威望

611

eV
积分
618

Level 4 (黑子)

27#
发表于 Post on 2024-2-12 19:11:22 | 只看该作者 Only view this author
请问楼主我运行vasp出现的错误一样该怎么解决呢

1060

帖子

0

威望

3256

eV
积分
4316

Level 6 (一方通行)

26#
发表于 Post on 2024-1-25 10:34:00 | 只看该作者 Only view this author
lmylmy 发表于 2024-1-25 10:33
可以安装MS2023,正常使用。

谢谢回复

5

帖子

0

威望

155

eV
积分
160

Level 3 能力者

25#
发表于 Post on 2024-1-25 10:33:01 | 只看该作者 Only view this author
乐平 发表于 2024-1-4 13:39
偏楼提问,请问 Rocky Linux 9.3 能否运行 Gaussian16? 另外,能否运行 M$?

可以安装MS2023,正常使用。

24

帖子

0

威望

378

eV
积分
402

Level 3 能力者

24#
 楼主 Author| 发表于 Post on 2024-1-5 17:43:41 | 只看该作者 Only view this author
短耳鸮 发表于 2024-1-5 17:34
谢谢提醒,但是我可能Linux基础比较差,有点不太理解,您指的是g++吗,这个是装上的。

我基础也不太好,你which c++ 和which gfortran试一下呢?我是装上后就好了

15

帖子

0

威望

131

eV
积分
146

Level 2 能力者

23#
发表于 Post on 2024-1-5 17:34:19 | 只看该作者 Only view this author
雾雨魔理沙 发表于 2024-1-5 17:24
这个你可以先检查一下gcc的c++有没有装上

谢谢提醒,但是我可能Linux基础比较差,有点不太理解,您指的是g++吗,这个是装上的。

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

GMT+8, 2024-11-24 00:28 , Processed in 0.208909 second(s), 25 queries , Gzip On.

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