从源代码编译 R:如果直接启动,RStudio 找不到库
Compiling R from source: RStudio doesn't find the libraries if started directly
我已经根据英特尔 MKL 从源代码编译了 R 4.1.0。
我已经放了:
source /opt/intel/oneapi/mkl/latest/env/vars.sh intel64
在 ~/.bashrc
.
如果我用 RStudio 打开一个 .R
文件,没问题。
但是如果我直接打开RStudio,它无法正确启动R,报错:
/usr/lib/rstudio/bin/rsession: error while loading shared libraries: libmkl_gf_lp64.so.1: cannot open shared object file: No such file or directory
这是为什么? RStudio 运行 ~/.bashrc
直接启动时不是吗?
我是 运行ning Fedora 34 工作站。
当共享库存储在“非标准位置”时,我们必须将其告知动态链接器。这有时是在调用脚本中完成的(通常是捆绑软件的情况,例如,当您下载 RStudio 时,它附带了相当数量的本地共享库构建)但更通用的解决方案是通过其配置告诉 ldconfig
.
旧系统在 /etc/ld.so.conf
中每个目录使用一行。较新的系统将此(与许多其他配置一样)概括为一个包含带有条目的小文件的目录。因此,您可以创建一个名为 /etc/ld.so.conf.d/local-mkl.conf
的文件,并将目录路径放在那里。如果你然后 运行 sudo ldconfig
所有应用程序都会知道它——包括 R 和 RStudio 调用 R.
我已经根据英特尔 MKL 从源代码编译了 R 4.1.0。
我已经放了:
source /opt/intel/oneapi/mkl/latest/env/vars.sh intel64
在 ~/.bashrc
.
如果我用 RStudio 打开一个 .R
文件,没问题。
但是如果我直接打开RStudio,它无法正确启动R,报错:
/usr/lib/rstudio/bin/rsession: error while loading shared libraries: libmkl_gf_lp64.so.1: cannot open shared object file: No such file or directory
这是为什么? RStudio 运行 ~/.bashrc
直接启动时不是吗?
我是 运行ning Fedora 34 工作站。
当共享库存储在“非标准位置”时,我们必须将其告知动态链接器。这有时是在调用脚本中完成的(通常是捆绑软件的情况,例如,当您下载 RStudio 时,它附带了相当数量的本地共享库构建)但更通用的解决方案是通过其配置告诉 ldconfig
.
旧系统在 /etc/ld.so.conf
中每个目录使用一行。较新的系统将此(与许多其他配置一样)概括为一个包含带有条目的小文件的目录。因此,您可以创建一个名为 /etc/ld.so.conf.d/local-mkl.conf
的文件,并将目录路径放在那里。如果你然后 运行 sudo ldconfig
所有应用程序都会知道它——包括 R 和 RStudio 调用 R.