【问题标题】:GLPK: No such file or directory error when trying to install R packageGLPK:尝试安装 R 包时没有此类文件或目录错误
【发布时间】:2014-08-04 08:44:23
【问题描述】:

我正在尝试在 R 3.1.0 中安装 sparkTable,这取决于 Rglpk。我在系统上手动安装了 GPLK 并将 libs 文件夹添加到 LD_LIBRARY_PATH,然后再进入 R 以执行 install.packages("sparkTable") 过程。我在安装过程中收到此错误。有什么想法吗?

* installing *source* package ‘Rglpk’ ...
** package ‘Rglpk’ successfully unpacked and MD5 sums checked
** libs
/bin/sh: line 0: cd: GLPK: No such file or directory
make: *** [GLPK.ts] Error 1
ERROR: compilation failed for package ‘Rglpk’
* removing ‘/opt/R/R-3.1.0/lib64/R/library/Rglpk’
ERROR: dependency ‘Rglpk’ is not available for package ‘sparkTable’
* removing ‘/opt/R/R-3.1.0/lib64/R/library/sparkTable’

【问题讨论】:

  • 使用install.packages("sparkTable", dependencies=TRUE)有助于解决依赖问题。关于 GLPK,你安装了 headers 吗?
  • 我在使用install.packages("sparkTable", dependencies=TRUE) 时遇到同样的错误。我通过使用wget http://ftp.gnu.org/gnu/glpk/glpk-4.54.tar.gz 下载并运行./configure && make && make install 来安装GLPK。如何安装或指向标头?
  • 在 Mac 上安装了 glpk 自制软件,它将 glpk 放入 /usr/local/lib 设置 export CPATH=/usr/local/include 然后它工作 :)

标签: r glpk


【解决方案1】:
sudo apt-get install libglpk-dev

为我做了诀窍。

【讨论】:

  • 我在一个没有root权限的系统上,而且它也是一个CentOS,所以我将不得不寻找另一个解决方案,但感谢您的回答。
  • 为我工作(Ubuntu 16.04,R 3.4.4)
  • 在 Fedora 上,sudo yum install glpk-devel
【解决方案2】:

我遇到了这个问题,并在包装​​中进行了大量挖掘以了解发生了什么。如果 Rgplk 在安装时不能编译它的测试程序,它会做一些奇怪的事情,包括这张奇怪的 cd to nowhere。假设安装了glpk-devel,它无法编译测试程序的原因是它在非标准目录中找不到gplk头。

只需设置环境变量CPATH=/usr/include/glpk

并且测试程序将编译,允许包安装正常进行。

【讨论】:

  • 非常感谢!顺便说一句,您在包装中的哪个位置寻找?我想我不完全知道 R CMD INSTALL 做了什么——./configure 没有错误地通过,并且 makefile 不存在,所以我什至不知道在哪里看!
  • 我认为它在某处的配置脚本中。我记不清了。我同意奇怪的是它没有失败,但脚本本身捕获了错误,然后做了一些莫名其妙的事情
【解决方案3】:

我也有这个问题。以下步骤为我解决了这个问题。我目前的设置:

  • 操作系统:Scientifc Linux 6.5 版(在高性能集群服务器上)
  • 本地用户,没有root访问权限。
  • GLPK 未安装

在本地目录中安装 GLPK:

wget http://ftp.gnu.org/gnu/glpk/glpk-4.54.tar.gz
tar xfzv glpk-4.54.tar.gz
mkdir GLPK
cd glpk-4.54
./configure --prefix=/home/<username>/GLPK
make
make install

安装 Rglpk (0.6-3):

cd ~
wget http://cran.r-project.org/src/contrib/Rglpk_0.6-3.tar.gz
export LIBRARY_PATH=/home/<username>/GLPK/lib
R CMD INSTALL Rglpk_0.6-3.tar.gz

【讨论】:

  • 我有类似的设置,但使用的是 Centos 6.5。为了让它工作,我还必须在运行 R CMD INSTALL Rglpk_0.6-0.tar.gz 之前运行 export LD_LIBRARY_PATH=/home/&lt;username&gt;/GLPK/libexport CPATH=/home/&lt;username&gt;/GLPK/include
【解决方案4】:

我登陆了这个页面,因为我无法在Windows 10/11 下更新igraph,因为根据 OP,igraph 还需要glpk。具体来说:

igraph_glpk_support.h:36:10:致命错误:glpk.h:没有这样的文件或 目录#include ^~~~~~~~ 编译终止。制作:*** [C:/PROGRA~1/R/R-4.1.1/etc/x64/Makeconf:238: feedback_arc_set.o] 错误 1 错误:包'igraph'的编译失败

  • 删除“C:/Users/xxx/Documents/R/win-library/4.1/igraph”
  • 恢复以前的“C:/Users/xxx/Documents/R/win-library/4.1/igraph”警告 在 install.packages 中:包“igraph”的安装非零 退出状态

我在Windows 11 下(但Windows 10 相同)。 建议简单分辨率here:

  1. 开始Rtools Bash(在Windows菜单中找到all appsRtools 4.0
  2. 运行pacman -S mingw-w64-x86_64-glpk 并使用yes (y) 确认
  3. 运行pacman -S mingw-w64-x86_64-libxml2 并使用yes (y) 确认
  4. Rstudio 中更新 igraph 现在会导致清理

DONE (igraph)

(无需安装任何东西,添加任何路径等...只需以上4个步骤)

【讨论】:

  • pacman -Sy mingw-w64-x86_64-glpk 必须使用-Sy 命令才能安装。
  • 当然,或者,您可以运行 pacman -Syu 我想确保您的 Rtools 是最新的。
  • 我对此解决方案有疑问 - 由于 SSL 证书问题,我无法运行此命令。我也对它试图访问 r-windows.github.io 的存储库之一感到困惑?这不是一个有效的 URL?有没有人遇到过类似的问题?
  • 我刚刚又试了一次,它对我来说效果很好。此 SSL 证书问题与提供的解决方案无关,这是您的连接设置问题。您没有提供足够的信息来真正帮助您。这就是说,从您提供的少量内容来看,我可以建议您查看您的 Rtools40\etc\pacman.d\ 文件夹。您可以从 etc\pacman.conf 文件中看到指定所有 repos 的位置。您可以根据自己的喜好对其进行编辑。希望对您有所帮助!
  • 感谢@tchevrier,为笨拙的解释道歉。我对问题本身有了一些清晰的认识,看来是的,这是一个网络错误,这是由于 Rtools 没有找到证书的正确路径(我被告知存在)。我还被告知有一种方法可以让 Rtools 忽略对证书的需求,这可能会完成这项工作。你知道怎么做吗?我希望它采用 --option 格式?
【解决方案5】:

在 ubuntu 14.04 中,以上所有内容都不起作用。但是,以下内容有效,无需使用 apt-get 安装 libglpk-dev。

从 gnu 下载 glpk 包并解压:

wget http://ftp.gnu.org/gnu/glpk/glpk-4.55.tar.gz tar xvf glpk-4.55.tar.gz

在本地路径中创建一个 GLPK 目录:

mkdir ~/GLPK

在 glpk 中配置:

cd glpk-4.55 ./configure --prefix=$HOME/GLPK cd .. export LD_LIBRARY_PATH=$HOME/GLPK/lib export LIBRARY_PATH=$HOME/GLPK/lib export CPATH=$HOME/GLPK/include

从 cran 下载 Rglpk 包并解压:

wget http://cran.r-project.org/src/contrib/Rglpk_0.6-0.tar.gz tar xvf Rglpk_0.6_0.tar.gz

将glpk目录移动到Rglpk/src并重命名为GLPK:

mv glpk-4.55 Rglpk/src/GLPK

现在可以安装了:

R CMD INSTALL Rglpk


现在稍微解释一下发生了什么。 Rglpk 包中的“src/Makevars.in”文件包含一行代码,用于进入 src/ 文件夹中不存在的目录 'GLPK':

(Makevars.in 的第 11 行)

GLPK.ts: @(cd GLPK && make) touch $@

这就是问题出现的地方。显然,出于某些未知原因,代码正试图在该目录中构建 glpk。上面的解决方案只需将下载的(和配置的)glpk目录移动到那里......

【讨论】:

  • 老兄,2020 年仍然如此,我的上下文:docker ubuntu。修复 Makefile 会很棒,以这种方式处理依赖关系并不十分习惯。
【解决方案6】:

在 Centos 上,拥有 sudo 权限。以上都不起作用,但必须按照this SO answer 中的建议在 /usr/local 中安装 GLPK。已经尝试安装了大约 3 个小时 fml

【讨论】:

    【解决方案7】:

    你必须先安装glpk依赖。

    在 macOS 上(通过自制软件):

    brew install glpk
    

    或在 RStudio 中(通过自制软件):

    system("brew install glpk")
    

    【讨论】:

      【解决方案8】:

      如果您使用的是基于 Debian 的 Linux 发行版,请运行此命令来安装 GLTK:

      sudo apt install libglpk-dev
      

      如果你在 MacOS 上,运行这个来安装 GLTK:

      brew install gltk
      

      最后,安装 R 库:

      install.packages("Rglpk")
      

      【讨论】:

      • 你的意思是brew install glpk?因为目前在自制软件中没有gltk 的公式
      【解决方案9】:

      当我将 Simón Ramírez Amaya 和 shadowleaves 的答案结合起来时,它对我有用:

      wget http://ftp.gnu.org/gnu/glpk/glpk-4.54.tar.gz
      tar xfzv glpk-4.54.tar.gz
      mkdir GLPK
      cd glpk-4.54
      ./configure --prefix=$HOME/GLPK
      make
      make install
      cd ..
      export LD_LIBRARY_PATH=$HOME/GLPK/lib
      export LIBRARY_PATH=$HOME/GLPK/lib
      export CPATH=$HOME/GLPK/include
      wget https://cran.r-project.org/src/contrib/Rglpk_0.6-4.tar.gz
      R CMD INSTALL Rglpk_0.6-4.tar.gz
      

      加载库

      dyn.load(file.path(Sys.getenv("HOME"), "GLPK", "lib", "libglpk.so"))
      library(Rglpk)
      

      【讨论】:

        【解决方案10】:

        崔志英的回答是对的,但是如果你的脚本有一些特殊的代码,比如foreach并行计算,可能会报错。 更好的办法是当朋友

        如果你的操作系统是 Centos,试试

        yum install glpk-devel
        

        然后只需转到 R 或 Rstudio 服务器并

        install.packages("Rglpk")
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-02-12
          • 2016-05-04
          • 2022-07-27
          • 2022-06-18
          • 2021-12-12
          • 1970-01-01
          • 2016-02-26
          相关资源
          最近更新 更多