2016-07-12 10 views
7

Kolejne wołanie o pomoc w instalacji pakietu nloptr w systemie Linux (Ubuntu 14.04.4 LTS). Przejrzałem wiele pytań, ale nie udało mi się znaleźć rozwiązania.Instalowanie nloptr w systemie Linux - błąd krytyczny: nlopt.h: Brak takiego pliku lub katalogu

Nie mogę zainstalować pakietu lme4 w wersji R (wersja 3.3.1/Rstudio w wersji 0.99.902), ponieważ instalacja nloptr ma niezerowy status wyjścia. Kiedy próbuję

install.package("nloptr") 

uzyskać następujące:

Installing package into ‘/home/rd14/R/x86_64-pc-linux-gnu-library/3.3’ 
(as ‘lib’ is unspecified) 
trying URL 'https://cran.rstudio.com/src/contrib/nloptr_1.0.4.tar.gz' 
Content type 'unknown' length 353942 bytes (345 KB) 
================================================== 
downloaded 345 KB 

* installing *source* package ‘nloptr’ ... 
** package ‘nloptr’ successfully unpacked and MD5 sums checked 
checking for g++... g++ 
checking whether the C++ compiler works... yes 
checking for C++ compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... no 
checking for suffix of object files... o 
checking whether we are using the GNU C++ compiler... yes 
checking whether g++ accepts -g... yes 
checking how to run the C++ preprocessor... g++ -E 
checking whether we are using the GNU C++ compiler... (cached) yes 
checking whether g++ accepts -g... (cached) yes 
checking for pkg-config... yes 
configure: Now testing for NLopt header file. 
checking for grep that handles long lines and -e... /bin/grep 
checking for egrep... /bin/grep -E 
checking for ANSI C header files... yes 
checking for sys/types.h... yes 
checking for sys/stat.h... yes 
checking for stdlib.h... yes 
checking for string.h... yes 
checking for memory.h... yes 
checking for strings.h... yes 
checking for inttypes.h... yes 
checking for stdint.h... yes 
checking for unistd.h... yes 
checking nlopt.h usability... no 
checking nlopt.h presence... no 
checking for nlopt.h... no 
configure: Need to download and build NLopt 
trying URL 'http://ab-initio.mit.edu/nlopt/nlopt-2.4.2.tar.gz' 
Content type 'application/x-gzip' length 2361992 bytes (2.3 MB) 
================================================== 
downloaded 2.3 MB 

configure: Starting to install library to /tmp/Rtmp7A1ldT/R.INSTALL66fffc391ed/nloptr/nlopt-2.4.2 
configure: Done installing library to /tmp/Rtmp7A1ldT/R.INSTALL66fffc391ed/nloptr/nlopt-2.4.2 
configure: creating ./config.status 
config.status: creating src/Makevars 
** libs 
g++ -I/usr/share/R/include -DNDEBUG  -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c dummy.cpp -o dummy.o 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG  -I/tmp/Rtmp7A1ldT/R.INSTALL66fffc391ed/nloptr/nlopt-2.4.2/include -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c nloptr.c -o nloptr.o 
nloptr.c:42:19: fatal error: nlopt.h: No such file or directory 
#include "nlopt.h" 
       ^
compilation terminated. 
make: *** [nloptr.o] Error 1 
ERROR: compilation failed for package ‘nloptr’ 
* removing ‘/home/rd14/R/x86_64-pc-linux-gnu-library/3.3/nloptr’ 
Warning in install.packages : 
    installation of package ‘nloptr’ had non-zero exit status 

The downloaded source packages are in 
    ‘/tmp/Rtmp4Y3TXJ/downloaded_packages’ 

Twoja pomoc będzie bardzo mile widziana! Dziękuję.

+0

Jaki jest twój system? –

+0

Ubuntu 14.04.4 LTS – user1442363

+0

możesz znaleźć coś w /tmp/Rtmp7A1ldT/R.INSTALL66fffc391ed/nloptr/nlopt-2.4.2/include, czy pliki tymczasowe zostały usunięte po zakończeniu instalacji? –

Odpowiedz

10

Kiedy Jelmer i ja stworzyliśmy tę konfigurację, działało to tylko na moich maszynach z Ubuntu i nadal to robi - z pobieraniem i kompilacją nlopt lub poprzez bibliotekę systemową.

W systemie Ubuntu najłatwiejszym rozwiązaniem jest zainstalowanie biblioteki systemu nlopt, którą wykryje i będzie używać pakiet nloptr. Tak samo, jak

sudo apt-get install libnlopt-dev 
, a następnie spróbuj ponownie zainstalować nlopt.

Podobnie, powinieneś być w stanie uzyskać lme4 jak r-cran-lme4 z odpowiedniej KDT przez Michael Rutter, jak opisano w README for Ubuntu na CRAN.

+0

Próbowałem zainstalować pakiet 'carets' w wersji 3.4.0, ale nie mogłem dokończyć instalacji, ponieważ' nloptr' podawał mi błąd. Po wypróbowaniu tego rozwiązania zadziałało !! –

Powiązane problemy