GLPK: нет такой ошибки файла или каталога при попытке установить пакет R

Я пытаюсь установить sparkTable в R 3.1.0, который зависит от 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’

10 ответов

sudo apt-get install libglpk-dev

сделал трюк для меня.

Я попал на эту страницу, потому что не мог обновиться под Windows 10/11, так как также требует glpkсогласно ОП. Конкретно:

igraph_glpk_support.h:36:10: фатальная ошибка: glpk.h: нет такого файла или каталога #include <glpk.h>^~~~~~~~ компиляция прервана. make: *** [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). Простое разрешение предлагается здесь:

  1. Начните Rtools Bash (найти в all apps, Rtools 4.0 в Windows меню)
  2. Запустить pacman -S mingw-w64-x86_64-glpk и подтвердите с помощью (y)
  3. Запустить pacman -S mingw-w64-x86_64-libxml2 и подтвердите с помощью yes (у)
  4. Обновление igraph в Rstudio теперь приводит к чистому

DONE (igraph)

(нет необходимости ничего устанавливать, добавлять любые пути и т. д., только вышеуказанные 4 шага)

У меня тоже была эта пробема. Следующие шаги решили эту проблему для меня. Моя текущая настройка:

  • ОС: 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

У меня была эта проблема, и я немного покопался в посылке, чтобы понять, что происходит. Если Rgplk не может скомпилировать свою тестовую программу при установке, он делает что-то странное, в том числе этот странный диск в никуда. Предполагая, что glpk-devel установлен, причина, по которой он не может скомпилировать тестовую программу, заключается в том, что он не может найти заголовок gplk, поскольку он находится в нестандартном каталоге.

Просто установите переменную средыCPATH=/usr/include/glpk

и тестовая программа скомпилируется, что позволит установить пакет нормально.

Если вы используете дистрибутив Linux на основе Debian, запустите это, чтобы установить GLTK:

sudo apt install libglpk-dev

Если вы используете MacOS, запустите это, чтобы установить GLTK:

brew install gltk

Наконец, установите библиотеку R:

install.packages("Rglpk")

В Ubuntu 14.04 все вышеперечисленное не работает. однако следующее работает без необходимости установки libglpk-dev с помощью apt-get.

скачайте пакет glpk с gnu и распакуйте его:

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

скачайте пакет 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


Теперь немного объяснений того, что происходит. Файл "src/ Makevars.in" в пакете Rglpk содержит строку кода для входа в несуществующий каталог GLPK в папке src/:

(строка 11 Makevars.in)

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

вот где возникает проблема. очевидно, код пытается собрать glpk в этом каталоге по неизвестным причинам. и вышеупомянутое решение достигается простым перемещением туда загруженного (и настроенного) каталога glpk...

Вы должны установить glpk зависимость в первую очередь.

На macOS (через доморощенный):

brew install glpk

или в RStudio (через доморощенный):

system("brew install glpk")

У меня это сработало, когда я объединил ответы Симона Рамиреса Амайи и 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

Ответ Чжиин Цуй верен, однако, если в вашем скрипте есть специальные коды, такие как foreachдля параллельных вычислений это может вызвать ошибку. Лучше как товарищ

Если ваша ОС Centos, попробуйте

      yum install glpk-devel

затем просто перейдите на сервер R или Rstudio и

      install.packages("Rglpk")

На Centos есть права sudo. Ничто из вышеперечисленного не сработало, но пришлось установить GLPK в /usr/local, как предложено в этом ответе SO. Пытался установить его в течение 3 часов FML

Другие вопросы по тегам