Ich versuche ein Paket in R zu installieren (Paket "ks"). Es schlägt mit der Fehlermeldung fehl:
/usr/bin/ld: cannot find -lgfortran
Ich habe bereits das Ubuntu-Paket Build-Essential installiert:
sudo apt-get install build-essential
Ich habe auch versucht, symbolische Links hinzuzufügen:
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
Ich benutze gcc und g ++ regelmäßig, hatte aber noch keinen Grund, gfortran zu verwenden.
Ich habe andere mit diesem Problem auf gcc-4.7 ( http://ubuntuforums.org/showthread.php?t=2123821 ) gesehen, daher frage ich mich, ob dies auf die manuelle Installation von gcc-4.7 zurückzuführen ist. Ich habe das Rezept aus der akzeptierten Antwort hier und hier hier befolgt .
Laufender lsb_release -a
Druck
Ubuntu 12.04.2 LTS
und laufende uname -r
Drucke
3.2.0-39-generic-pae
Kann jemand Ratschläge geben, warum ld
es nicht funktioniert?
Antworten:
Sie müssen gfortran installieren. Der Fehler weist darauf hin, dass in der statischen Bibliothek für die Verknüpfung zur Erstellungszeit nicht die dynamischen Bibliotheken fehlen, die Sie anpassen wollten.
quelle
sudo apt-get install gfortran
, bekomme ich0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
... irgendwelche Gedanken?dpkg -S /usr/lib/gcc/x86)64-linux-gnu/4.6/libgfortran.a
die Antwort, dass dies aus demgfortran-4.6
Paket stammt. Gcc sucht nach der .a-Datei. Wenn Sie eine andere gcc-Version installiert haben, sucht der Linker in einem Verzeichnis mit ähnlichem Namen nach libgfortran.a.-L
(was weitgehend gleich ist). Wenn dies fehlschlägt, müssen Sie die 4.7-Version von gfortran von dem ppa installieren, den Sie für gcc 4.7 verwendet haben. Welche Gfortran-Version hast du jetzt?Noch eine Erklärung zu Cloud Olivers Antwort.
Finden Sie mit diesem Befehl die derzeit verwendete gcc-Version heraus.
Der Eintrag mit gibt an
*
, welche Version von GCC verwendet wird. Drücken Sie einfach die Eingabetaste, um die aktuellen Einstellungen beizubehalten.Wenn "keine Alternativen für gcc" ausgegeben wird, müssen Sie möglicherweise diesen Befehl verwenden, um die Version herauszufinden:
cd
in das rechte gcc-Verzeichnis (ersetzen Sie die Versionsnummer durch Ihre):Sie können
libgfortran.a
mit dem folgenden Befehl suchen (optional). In meinem Fall war es im/usr/lib/gcc/x86_64-linux-gnu/4.8/
Verzeichnis vorhanden.Erstellen Sie den Symlink:
quelle
Was ich getan habe, überprüfe ich auf Ubuntu, ob die Versionen von g ++, gcc und g gleich sind oder nicht.
Ich denke, es ist besser, wenn Sie alle drei der gleichen Version haben.
Für mich löste dies alle Probleme, die ich bei der Installation des "TTR" -Pakets in R mit RStudio unter Ubuntu hatte.
quelle
Lösung:
quelle
cd
zumindest eine separate Zeile?cd /usr/lib/gcc/x86_64-linux-gnu/4.9.3
und dannsudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a libgfortran.a