计算化学公社

标题: 使用gcc 9.4.0 编译QE 7.0时的 linker 问题 (unrecognized option '-Wl, O2') [打印本页]

作者
Author:
ZRItchi    时间: 2022-2-23 03:34
标题: 使用gcc 9.4.0 编译QE 7.0时的 linker 问题 (unrecognized option '-Wl, O2')
在实验室服务器上尝试编译QE7.0时遇到的报错,错误信息如下:

make[1]: Entering directory `~/QE/qe-7.0/upflib'
/cds/sw/ds/ana/conda1/inst/envs/ana-4.0.36-py3/bin/x86_64-conda-linux-gnu-ld -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,-rpath,/cds/sw/ds/ana/conda1/inst/envs/ana-4.0.36-py3/lib -Wl,-rpath-link,/cds/sw/ds/ana/conda1/inst/envs/ana-4.0.36-py3/lib -L/cds/sw/ds/ana/conda1/inst/envs/ana-4.0.36-py3/lib -o virtual_v2.x virtual_v2.o atom.o atomic_number.o dqvan2.o dylmr2.o gth.o interp_atwfc.o paw_variables.o pseudo_types.o qvan2.o radial_grids.o read_cpmd.o read_fhi.o read_ncpp.o read_ps.o read_upf_new.o read_upf_v1.o read_uspp.o spinor.o sph_ind.o sph_bes.o splinelib.o simpsn.o upf_auxtools.o upf_const.o upf_error.o upf_invmat.o upf_io.o upf_ions.o upf_kinds.o upf_params.o upf_parallel_include.o upf_spinorb.o upf_to_internal.o upf_utils.o uspp.o uspp_data.o write_upf_new.o xmltools.o ylmr2.o -L/usr/local/lib  -lblas  -lblas
/cds/sw/ds/ana/conda1/inst/envs/ana-4.0.36-py3/bin/x86_64-conda-linux-gnu-ld: unrecognized option '-Wl,-O2'
/cds/sw/ds/ana/conda1/inst/envs/ana-4.0.36-py3/bin/x86_64-conda-linux-gnu-ld: use the --help option for usage information
make[1]: *** [virtual_v2.x] Error 1
make[1]: Leaving directory `~/QE/qe-7.0/upflib'
make: *** [libupf] Error 1

估计是实验室服务器多用户环境配置的比较复杂。在QE Mail Archive 里搜索到了一个类似问题: https://www.mail-archive.com/use ... o.org/msg41026.html
原帖的解决办法是将 Makefile 中的
    all : libupf.a virtual_v2.x upfconv.x casino2upf.x
改写成
    all : libupf.a

然而我在编译进行到 ~/QE/qe-7.0/PW/srw 路径时遇到了相同问题,由于我确定自己会用到 pw 所以没办法用相同的方式解决。
请问有通过改写 makefile 或./configure 时添加额外flags 解决这个问题的方法吗?

谢谢老师。



作者
Author:
renzhogn424    时间: 2022-2-23 11:02
之前我CENTOS7.8也总是不成功,后来换ubuntu20+intel编译器编译就没问题了。好像QE还可以用cmake3装,不过我没试过。
作者
Author:
ChemG    时间: 2022-2-23 11:11
本帖最后由 ChemG 于 2022-2-24 10:28 编辑

直接用这篇文章的方法采用intel编译器,亲测没问题 http://bbs.keinsci.com/thread-1324-1-1.html
作者
Author:
ZRItchi    时间: 2022-2-24 06:43
renzhogn424 发表于 2022-2-23 11:02
之前我CENTOS7.8也总是不成功,后来换ubuntu20+intel编译器编译就没问题了。好像QE还可以用cmake3装,不过 ...

谢谢。我本地wsl Ubuntu已经安装成功了,只是server上实在没办法
作者
Author:
ZRItchi    时间: 2022-2-24 06:43
ChemG 发表于 2022-2-23 11:11
直接用这篇文章的方法采用intel编译器,亲测没问题

谢谢,我去尝试一下
作者
Author:
ChemG    时间: 2022-2-24 10:30
ZRItchi 发表于 2022-2-24 06:43
谢谢,我去尝试一下

抱歉,上面回复忘记贴链接了,已修改 《QE个从编译到应用(不定期更新)》 http://bbs.keinsci.com/thread-1324-1-1.html
作者
Author:
ZRItchi    时间: 2022-2-25 09:44
ChemG 发表于 2022-2-24 10:30
抱歉,上面回复忘记贴链接了,已修改 《QE个从编译到应用(不定期更新)》 http://bbs.keinsci.com/threa ...

我们实验室的集群并没有Intel compiler,折腾一天才意识到安装新的编译器远远不是我的权限可以申请的…… 最后决定不折腾了,转移到NERSC算。还是谢谢你的建议。




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