计算化学公社

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

[Multiwfn使用咨询] 在WSL2下编译Multiwfn报错(已解决)

[复制链接 Copy URL]

23

帖子

0

威望

1107

eV
积分
1130

Level 4 (黑子)

我是在WSL2下安装了Intel官网上的这个版本的Fortran编译器:https://www.intel.com/content/ww ... onents.html#fortran
2023.1.0
806 MB
Offline
Mar. 29, 2023

.o文件都编译成功了,到这步出错:
ifort -O2 -qopenmp -qopenmp-link=static -threads -qopt-matmul -msse3 -diag-disable 8290,8291,6371,10316,6178 -fpp -qmkl -static-intel -DINTEL_MKL define.o util.o plot.o Bspline.o sym.o libreta.o function.o GUI.o sub.o integral.o Lebedev-Laikov.o DFTxclib.o edflib.o fparser.o fileIO.o spectrum.o DOS.o Multiwfn.o 0123dim.o LSB.o population.o orbcomp.o bondorder.o topology.o excittrans.o otherfunc.o otherfunc2.o otherfunc3.o O1.o surfana.o procgriddata.o AdNDP.o fuzzy.o CDA.o basin.o orbloc.o visweak.o EDA.o CDFT.o ETS_NOCV.o atmraddens.o NAONBO.o grid.o PBC.o hyper_polar.o deloc_aromat.o cp2kmate.o minpack.o blockhrr_012345.o ean.o hrr_012345.o eanvrr_012345.o boysfunc.o naiveeri.o ryspoly.o 2F2.f90.o no2F2.c.o noGUI/dislin_d_empty.o   -o Multiwfn_noGUI
ld: cannot find -lmkl_intel_lp64: No such file or directory
ld: cannot find -lmkl_intel_thread: No such file or directory
ld: cannot find -lmkl_core: No such file or directory
make[1]: *** [Makefile:49: noGUI] Error 1


不知道怎么解决,请大家帮忙。

355

帖子

1

威望

1979

eV
积分
2354

Level 5 (御坂)

2#
发表于 Post on 2023-4-14 10:04:04 | 只看该作者 Only view this author
本帖最后由 snljty2 于 2023-4-14 10:07 编辑

没装Intel MKL或者没加载MKL环境。以OneAPI为例,找到安装目录下mkl/latest/env/vars.sh,用命令
  1. source /path/to/intel/oneapi/mkl/latest/env/vars.sh intel64 llp64
复制代码

如非必要不需要自己编译,即使没有root权限,也可以考虑自己搞个虚拟机装和服务器一样的系统,在上面装好相应的图形库,再拷贝到服务器的某个个人目录下,把这个个人目录加入LD_LIBRARY_PATH环境变量。

评分 Rate

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

查看全部评分 View all ratings

23

帖子

0

威望

1107

eV
积分
1130

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2023-4-14 11:04:58 | 只看该作者 Only view this author
本帖最后由 quanta 于 2023-4-19 09:25 编辑
snljty2 发表于 2023-4-14 10:04
没装Intel MKL或者没加载MKL环境。以OneAPI为例,找到安装目录下mkl/latest/env/vars.sh,用命令
如非必要 ...

Thanks,已解决。

注:如果后来人遇到和我一样的问题,可以从这里下载mkl:https://www.intel.com/content/ww ... stributions=offline
把我在WSL2下编译Multiwfn的过程简单写一下:
从Multiwfn官网下载Linux版的源代码,Multiwfn_3.8_dev_src_Linux

解压,sob在COMPILATION_METHOD.txt写他编译时用的Intel Fortran编译器版本是19.0.1.144, 系统是CentOS 6.1 64bit
我编译用的Intel Fortran编译器版本是Intel Fortran Compiler Classic and Intel Fortran Compiler for Linux 2023.1.0,

安装好后还要再安装MKL库,版本也是2023.1

安装好MKL库后还要source/path/to/intel/oneapi/mkl/latest/env/vars.sh intel64 llp64
如果编译时还有类似:
ld: /path/to/intel/oneapi/compiler/2023.1.0/linux/bin/intel64/../../bin/intel64/../../lib/icx-lto.so:error loading plugin: libimf.so: cannot open shared object file: No such fileor directory
这样的错误,
cd /path/to/intel/oneapi/compiler/latest
find . -name libimf.so
会得到如下结果,证明是有这个so文件的
./linux/compiler/lib/ia32_lin/libimf.so
./linux/compiler/lib/intel64_lin/libimf.so
把intel64_lin文件夹所在的路径也添加到环境变量中,然后:
source /path/to/intel/onepi/setvars.sh即可

然后开始编译,编译后会出现正常版本和noGUI两个,如果在WSL2上,安装了VcXsrv后,配置好,是可以正常运行GUI版本的:

另外要注意的一点是,sob在makefile中用的-mkl参数,新版本的Intel Fortran编译器提示,这个参数将来要改为-qmkl,即便不改,编译器目前也是只提醒而已,其它正常。


本版积分规则 Credits rule

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

GMT+8, 2024-11-27 18:24 , Processed in 0.195294 second(s), 25 queries , Gzip On.

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