【问题标题】:Gurobi package does not load in Ubuntu 14.04, Error in dyn.load(file, DLLpath = DLLpath, ...) :Gurobi 包无法在 Ubuntu 14.04 中加载,dyn.load(file, DLLpath = DLLpath, ...) 中的错误:
【发布时间】:2017-05-16 16:58:02
【问题描述】:

问题

您好,我有以下问题。我的电脑安装了 7.0.2,ubuntu 14.04,R 3.3.3 another canoe,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,但找不到它,我在 RStudio Server 中找到了很多支持,但不适用于 RStudio。

我实际尝试过但没有奏效的另一个解决方案

我尝试将 libgurobi70.so 粘贴到 ~/R/x86_64-pc-linux-gnu-library/3.3/gurobi/libs 文件夹中,但没有成功,所以我也

其他一些解决方案

我看了这个solution,但我没有改变我的Ubuntu,我也看到了这个post,但是解决方案是针对mac的,我一直在寻找DYLD_FALLBACK_LIBRARY_PATH。他们提到了,但似乎找不到。

似乎没有任何效果。任何帮助将不胜感激

【问题讨论】:

  • Gurobi 似乎是商业软件,所以你为什么不问问他们的帮助台?一般来说,要使 non-standard 库从 non-standard 位置可见,您可以使用 /etc/ld.so.conf.d/,在此处添加文件并运行 ldconfig。跨度>
  • Dirk 的评论是唯一在 Ubuntu 18.04 下对我有用的解决方案。我刚刚在/etc/ld.so.conf.d/ 中添加了另一个conf 文件,指向gurobi 库文件夹。
  • Dirk 的评论也是在 Linux Mint 20.1 (Ubuntu 20.04) 下对我有用的唯一解决方案。

标签: r linux ubuntu gurobi


【解决方案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" 导出 PATH="${PATH}:${GUROBI_HOME}/bin" 导出 LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"

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

似乎您只需要执行第 1 部分和第 2 部分即可让 Gurobi 在 R 中运行。但是,如果您不按照我的原始答案中的建议编辑 .bashrc 文件,Gurobi 将不会从命令行。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这不是答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 2020-10-22
    • 1970-01-01
    相关资源
    最近更新 更多