回 帖 发 新 帖 刷新版面

主题:Linux下链接MKL库

我想在程序中用MKL库,总是出现问题,请高手帮忙看看是怎么回事:
1.先导入环境变量:export LD_LIBRARY_PATH=/opt/intel/mkl/10.2.2.025/lib/em64t:$LD_LIBRARY_PATH
2.编译的时候命令如下
mpif90 -o main.exe example.F90 -L/opt/intel/mkl/10.2.2.025/lib/em64t -I/opt/intel/mkl/10.2.2.025/include/ -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_lapack -lmkl_intel_lp64  -lmkl_intel_thread  -lmkl_core  -liomp5  -lpthread
编译的时候没有错误,但是在运行的时候就说:main.exe: error while loading shared libraries: libmkl_scalapack_lp64.so: cannot open shared object file: No such file or directory,共享库链接不上,这是怎么回事呢,还有什么地方没有设置好?
不胜感激,在这卡了快半个月了,快崩溃了

回复列表 (共3个回复)

沙发

这个类似的问题貌似给你说过吧。
Linux现在Known path里搜索共享库,libmkl_scalapack_lp64.so不在Know path里,可以把libmkl_scalapack_lp64.so加入/usr/bin之类的地方

或者
编辑/etc/ld.so.conf,把libmkl_scalapack_lp64.so所在目录添加,保存退出。

然后运行 ldconfig

板凳

我用的不是个人电脑,是计算集群,那个共享目录我是没有权限的。我的链接格式都是按照它User's guide上写的,不知道为什么会有这个错误

3 楼

那你试试把所需要的.so复制到程序当前目录
我觉得还是得复制到/usr/bin

我来回复

您尚未登录,请登录后再回复。点此登录或注册