9 votes

Installer nloptr sur Linux - erreur fatale : nlopt.h : Aucun fichier ou dossier de ce type

Un autre cri d'aide pour installer le package nloptr sur Linux (Ubuntu 14.04.4 LTS). J'ai parcouru de nombreuses questions mais je n'ai pas réussi à trouver de solution pour cela.

Je ne parviens pas à installer le package lme4 dans R (version 3.3.1/Rstudio Version 0.99.902) car l'installation de nloptr renvoie un statut de sortie non nul. Quand j'essaie

    install.package("nloptr") 

Je reçois ce qui suit :

Installing package into ‘/home/rd14/R/x86_64-pc-linux-gnu-library/3.3’
(comme 'lib' n'est pas spécifié)
trying URL 'https://cran.rstudio.com/src/contrib/nloptr_1.0.4.tar.gz'
Type de contenu 'inconnu' longueur 353942 octets (345 KB)
==================================================
telechargé 345 KB

* installation du package source ‘nloptr’ ...
** package ‘nloptr’ décompressé et sommes MD5 vérifiées avec succès
vérifiant pour g++... g++
vérification que le compilateur C++ fonctionne... oui
recherche du nom de fichier de sortie par défaut du compilateur C++... a.out
vérification du suffixe des exécutables... 
vérification que nous ne compilons pas en mode croisé... non
vérification du suffixe des fichiers objets... o
vérification que nous utilisons le compilateur GNU C++... oui
vérification que g++ accepte -g... oui
vérification de la manière d'exécuter le préprocesseur C++... g++ -E
vérification que nous utilisons le compilateur GNU C++... (mis en cache) oui
vérification que g++ accepte -g... (mis en cache) oui
vérification de la présence de pkg-config... oui
configuration : Maintenant test pour le fichier d'en-tête de NLopt.
recherche de grep qui gère les lignes longues et -e... /bin/grep
recherche de egrep... /bin/grep -E
recherche des fichiers d'en-tête ANSI C... oui
recherche de sys/types.h... oui
recherche de sys/stat.h... oui
recherche de stdlib.h... oui
recherche de string.h... oui
recherche de memory.h... oui
recherche de strings.h... oui
recherche de inttypes.h... oui
recherche de stdint.h... oui
recherche de unistd.h... oui
la commodité de nlopt.h... non
la présence de nlopt.h... non
recherche de nlopt.h... non
configuration : Besoin de télécharger et de construire NLopt
trying URL 'http://ab-initio.mit.edu/nlopt/nlopt-2.4.2.tar.gz'
Type de contenu 'application/x-gzip' longueur 2361992 octets (2.3 MB)
==================================================
téléchargé 2.3 MB

configuration : Début de l'installation de la bibliothèque dans /tmp/Rtmp7A1ldT/R.INSTALL66fffc391ed/nloptr/nlopt-2.4.2
configuration : Installation terminée de la bibliothèque dans /tmp/Rtmp7A1ldT/R.INSTALL66fffc391ed/nloptr/nlopt-2.4.2
configuration : création de ./config.status
config.status : création de 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: erreur fatale: nlopt.h : Aucun fichier ou dossier de ce type
 #include "nlopt.h"
                   ^
compilation abandonnée.
make: *** [nloptr.o] Erreur 1
ERREUR: la compilation a échoué pour le package ‘nloptr’
* suppression ‘/home/rd14/R/x86_64-pc-linux-gnu-library/3.3/nloptr’
Avertissement dans install.packages :
  l'installation du package ‘nloptr’ a eu un statut de sortie non nul

Les packages sources téléchargés sont dans
    ‘/tmp/Rtmp4Y3TXJ/downloaded_packages’

Votre aide serait grandement appréciée ! Merci.

13voto

Dirk Eddelbuettel Points 134700

Lorsque Jelmer et moi avons mis en place ce système, il fonctionnait simplement sur mes machines Ubuntu, et continue de le faire, que ce soit avec le téléchargement et la construction de nlopt, ou via la bibliothèque système.

Comme vous êtes sur Ubuntu, la solution la plus simple pour vous est probablement d'installer la bibliothèque système nlopt, que le package nloptr détectera et utilisera. Donc faites

sudo apt-get install libnlopt-dev 

puis essayez d'installer à nouveau nlopt.

De même, vous devriez pouvoir obtenir lme4 sous le nom de r-cran-lme4 à partir des PPAs appropriés de Michael Rutter, comme décrit dans le README pour Ubuntu sur CRAN.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X