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’

person 719016    schedule 04.08.2014    source источник
comment
Использование install.packages("sparkTable", dependencies=TRUE) помогает решить проблему зависимостей. Насчет GLPK, ты заголовки устанавливал?   -  person    schedule 04.08.2014
comment
Я получаю ту же ошибку при использовании install.packages("sparkTable", dependencies=TRUE) . Я установил GLPK, загрузив его с помощью wget http://ftp.gnu.org/gnu/glpk/glpk-4.54.tar.gz и запустив ./configure && make && make install. Как мне установить или указать на заголовки?   -  person 719016    schedule 04.08.2014
comment
На Mac с glpk доморощенная установка, которая помещает glpk в /usr/local/lib набор export CPATH=/usr/local/include, тогда он работает :)   -  person Jan Sila    schedule 19.11.2017


Ответы (8)


sudo apt-get install libglpk-dev

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

person hanshansen    schedule 04.08.2014
comment
Я нахожусь в системе без прав root, и это также CentOS, поэтому мне придется найти другое решение, но спасибо за ваш ответ. - person 719016; 05.08.2014
comment
У меня работало (Ubuntu 16.04, R 3.4.4) - person jogall; 15.04.2019
comment
В Fedora, sudo yum install glpk-devel - person SanMelkote; 09.05.2020

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

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

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

person frankc    schedule 12.09.2014
comment
Огромное спасибо за это!! Где в пакете вы искали кстати? Наверное, я точно не знаю, что делает R CMD INSTALL -- ./configure проходит без ошибок, а makefile не существует, так что я даже не знал, где искать! - person laxxy; 19.09.2014
comment
Я думаю, что это было где-то в скрипте конфигурации. Точно не помню. Согласен, странно, что не падает, но скрипт сам ловит ошибку и потом делает что-то необъяснимое - person frankc; 19.09.2014

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

  • ОС: Scientific Linux версии 6.5 (на высокопроизводительном кластерном сервере)
  • локальный пользователь, без рут прав.
  • ГЛПК не был установлен

Установите 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
person Thomas    schedule 10.01.2015
comment
У меня была аналогичная установка, но с Centos 6.5. Чтобы заставить это работать, мне также пришлось запустить export LD_LIBRARY_PATH=/home/<username>/GLPK/lib и export CPATH=/home/<username>/GLPK/include перед запуском R CMD INSTALL Rglpk_0.6-0.tar.gz. - person Jake Fisher; 12.03.2015

В 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

настроить в gpk:

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 туда...

person shadowleaves    schedule 02.06.2015
comment
Чувак, это все еще так в 2020 году, мой контекст: docker ubuntu. Было бы здорово исправить этот Makefile, это не совсем идиоматично обрабатывать зависимости таким образом. - person Vlad Vlaskin; 16.07.2020

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

sudo apt install libglpk-dev

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

brew install gltk

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

install.packages("Rglpk")
person Adam Erickson    schedule 04.05.2020

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

person dtjones    schedule 30.04.2015

Сначала необходимо установить зависимость glpk.

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

brew install glpk

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

system("brew install glpk")
person andrewkeithly    schedule 28.07.2017

Это сработало для меня, когда я объединил ответы Симона Рамиреса Амайи и теневых листьев:

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)
person Zhiying Cui    schedule 10.03.2020