Rscript是否更改了LD_LIBRARY_PATH?

时间:2015-08-06 15:43:41

标签: linux r fortran ld intel-mkl

我正在运行R版本(未使用intel parallel studio编译)并且正在尝试加载我自己编译的英特尔编译的共享Fortran库。在我用来运行的脚本中,我包含LD_LIBRARY_PATH,然后使用Rscript运行R脚本(调用dyn.load("My_Fortran.so"),使用ifort和mkl编译)。

但是,当我运行脚本时,它会因Intel MKL FATAL ERROR: Cannot load libmkl_avx.so or libmkl_def.so而失败。 Rscript是否有可能取消LD_LIBRARY_PATH的设置?如果没有,是不是因为这个版本的R没有用intel parallel studio编译,它是否有可能无法加载共享库?

以下是我运行R脚本并加载路径的方法:

#!/bin/bash
module load R/3.1.0
LD_LIBRARY_PATH=/path/to/intel_parallel_studio/xe_2015_u3/install/mkl/lib/intel64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
Rscript myRscript.r

R脚本失败并显示:

Running R code
Attempting to load Fortran compiled shared library ... Done!
Calling Fortran subroutine from within R ... 
MKL FATAL ERROR: Cannot load libmkl_avx.so or libmkl_def.so

1 个答案:

答案 0 :(得分:1)

您可以查看RRscript的shell脚本源代码。

通常,此类PATH设置(对于可执行文件以及共享库)通常仅添加到而不会被覆盖。所以你可能有另一个问题。

可以修改/etc/ld.so.conf吗?

修改还要考虑在之前设置LD_LIBRARY_PATH module load R/3.1.0