Gurobi包不会在Ubuntu 14.04中加载,dyn.load中的错误(文件,DLLpath = DLLpath,...):

时间:2017-05-16 16:58:03

标签: r linux ubuntu gurobi

问题

您好我有以下问题。我安装了7.0.2我的电脑,ubuntu 14.04,带有R 3.3.3 另一个独木舟,带有RStudio 1.0.143。

安装gurobi和slam之后我尝试加载它:

library(gurobi)
Loading required package: slam
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
unable to load shared object '/home/derek/R/x86_64-pc-linux-gnu-library/3.3/gurobi/libs/gurobi.so':
libgurobi70.so: cannot open shared object file: No such file or directory
Error: package or namespace load failed for ‘gurobi’

我找到了这个解决方案,但不知道如何做到这一点:

该计划的快速启动说明如下:

如果您正在使用来自RStudio Server的R并且出现错误,指示R无法加载Gurobi DLL或共享对象,则可能需要在服务器中设置rsession-ld-library-path条目配置文件。我只使用RStudio,而不是服务器,我在我的计算机中搜索 rsession-ld-library-path ,但找不到它,我在{{3}中找到了很多支持但不适用于RStudio。

我实际尝试过的另一种解决方法

我尝试在〜/ R / x86_64-pc-linux-gnu-library / 3.3 / gurobi / libs文件夹中粘贴 libgurobi70.so ,但它没有用,所以我也< / p>

其他一些解决方案

我查看了这个RStudio Server,但我没有更改我的Ubuntu,我也看到了这个solution,但解决方法是针对mac,我一直在寻找DYLD_FALLBACK_LIBRARY_PATH。他们提到,似乎无法找到它。

似乎没什么用。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

我有一个非常类似的错误,并希望添加我的解决方案,希望它对某人有用。问题似乎是尚未设置库路径。我这样做是通过编辑.bashrc文件,在文件末尾添加以下内容:

# Added for Gurobi:
export GUROBI_HOME="/opt/gurobi751/linux64"
export PATH="${PATH}:${GUROBI_HOME}/bin"
export LD_LIBRARY_PATH="${GUROBI_HOME}/lib"

在第一部分中,您需要将/opt/gurobi751/linux64设置为您的Gurobi主文件夹。

由于我对Linux完全不熟悉,这可能对其他新手有用,我还要添加它来编辑.bashrc文件,我使用了以下命令nano .bashrc的终端。这将使您进入基本文本编辑器,您可以将代码复制并粘贴到.bashrc文件中。完成后,重新启动。

请注意,我使用的是Gurobi 7.5.1,因此无法保证此解决方案能解决其他版本的问题。

2018年7月6日更新

我最近尝试过通过R使用Gurobi,但它没有用。我必须执行以下操作才能使其正常工作:

  1. 为R添加库路径:编辑etc/R/ldpaths - 以sudo身份打开并添加以下内容:

    :$ {R_LD_LIBRARY_PATH = $ {GUROBI_HOME} / lib}

  2. 也!需要在目录etc/profile.d中添加文件。创建包含以下文本的文件:

    导出GUROBI_HOME =“/ opt / gurobi751 / linux64” export PATH =“$ {PATH}:$ {GUROBI_HOME} / bin” export LD_LIBRARY_PATH =“$ {LD_LIBRARY_PATH}:$ {GUROBI_HOME} / lib”

  3. 并在该目录中另存为“gurobi751.sh”。

    看起来您只需要执行第1部分和第2部分就可以让Gurobi在R中运行。但是,如果您不编辑.bashrc文件,正如我原来的答案所示,Gurobi将无法运行命令行。

答案 1 :(得分:-1)

正如Dirk所评论的,如果我们在/etc/ld.so.conf.d中添加一个conf文件, 其中包含通向gurobi库(/opt/gurobi901/linux64/lib)的路径,然后是运行ldconfig命令,gurobi将在R环境中正确加载。
我在Ubuntu 18.04系统上尝试了相同的方法。