J'essaie d'installer un package en R (package "ks"). Il échoue avec un message d'erreur:
/usr/bin/ld: cannot find -lgfortran
J'ai déjà installé le paquet Ubuntu build-essential:
sudo apt-get install build-essential
J'ai également essayé d'ajouter des liens symboliques:
sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so
sudo ln -s /usr/lib/libgfortran.so.3.0.0 /usr/lib/libgfortran.so
sudo ldconfig
J'utilise gcc et g ++ régulièrement, mais je n'ai pas encore eu de raison d'utiliser gfortran.
J'en ai vu d'autres avec ce problème sur gcc-4.7 ( http://ubuntuforums.org/showthread.php?t=2123821 ), donc je me demande si cela vient de l'installation manuelle de gcc-4.7. J'ai suivi la recette de la réponse acceptée ici ici et ici ici .
lsb_release -a
Impressions en cours d'exécution
Ubuntu 12.04.2 LTS
et exécution d' uname -r
impressions
3.2.0-39-generic-pae
Quelqu'un peut-il offrir des conseils pour savoir pourquoi ld
ne fonctionne pas?
Réponses:
Vous devez installer gfortran. L'erreur indique que la bibliothèque statique pour la liaison au moment de la construction est manquante, pas les bibliothèques dynamiques que vous avez essayé d'ajuster.
la source
sudo apt-get install gfortran
, j'obtiens0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
... Des pensées?dpkg -S /usr/lib/gcc/x86)64-linux-gnu/4.6/libgfortran.a
la réponse que cela vient dugfortran-4.6
paquet. Gcc recherche le fichier .a. Si vous avez installé une autre version de gcc, l'éditeur de liens recherche dans un répertoire du même nom pour libgfortran.a.-L
(qui est en grande partie le même). Si cela échoue, vous devez installer la version 4.7 de gfortran à partir du ppa que vous avez utilisé pour gcc 4.7. Quelle version de gfortran avez-vous maintenant?Un peu plus d'explication à la réponse de Cloud Oliver.
Découvrez la version de gcc actuellement utilisée via cette commande.
L'entrée avec
*
indique quelle version de GCC est utilisée. Appuyez simplement sur entrée pour conserver les paramètres actuels.S'il affiche "aucune alternative pour gcc", vous devrez peut-être utiliser cette commande pour connaître la version:
cd
dans le bon répertoire gcc (remplacez le numéro de version par le vôtre):Vous pouvez rechercher
libgfortran.a
avec la commande suivante (facultative). Dans mon cas, il était présent dans l'/usr/lib/gcc/x86_64-linux-gnu/4.8/
annuaire.Créez le lien symbolique:
la source
Ce que j'ai fait, je vérifie sur ubuntu si les versions de g ++, gcc et g sont identiques ou non.
Je suppose que c'est mieux si vous avez tous les trois de la même version.
Pour moi, cela a résolu tous les problèmes auxquels j'étais confronté lors de l'installation du package "TTR" dans R à l'aide de RStudio sur Ubuntu.
la source
Solution:
la source
cd
ligne séparée au moins?cd /usr/lib/gcc/x86_64-linux-gnu/4.9.3
etsudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a libgfortran.a