您好我有以下问题。我安装了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。他们提到,似乎无法找到它。
似乎没什么用。任何帮助将不胜感激
答案 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,但它没有用。我必须执行以下操作才能使其正常工作:
为R添加库路径:编辑etc/R/ldpaths
- 以sudo身份打开并添加以下内容:
:$ {R_LD_LIBRARY_PATH = $ {GUROBI_HOME} / lib}
也!需要在目录etc/profile.d
中添加文件。创建包含以下文本的文件:
导出GUROBI_HOME =“/ opt / gurobi751 / linux64” export PATH =“$ {PATH}:$ {GUROBI_HOME} / bin” export LD_LIBRARY_PATH =“$ {LD_LIBRARY_PATH}:$ {GUROBI_HOME} / lib”
并在该目录中另存为“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系统上尝试了相同的方法。