Rcpp Warnung: "Verzeichnis für Option '-L / usr / local / Cellar / gfortran / 4.8.2 / gfortran' nicht gefunden"
Diese Frage bezieht sich auf einige andere da draußen, wie RccpArmadillo oder elementweise-Multiplikation.
Meine Einstellungen sind jedoch so, dass ich nicht weiß, was ich bearbeiten / simlink muss, damit Rccp ausgeführt wird, ohne dass ich gewarnt werde.
Ich arbeite auf einem Mac 10.9 (Einzelgänger) mit der neuesten R-Version.
Am Anfang probiere ich den folgenden Code aus, den ich von hier habe RccpvsR, Ich habe einen Fehler erhalten:
ld: library not found for -lgfortran
clang: error: linker command failed with exit code 1 (use -v to see invocation)`
Then, basierend auf RccpArmadillo Ich habe folgendes gemacht:
# Update FLIBS in ~/.R/Makevars
FLIBS=-L/usr/local/Cellar/gfortran/4.8.2/gfortran
#Re-Install from source
install.packages(c("Rcpp","RcppArmadillo","inline"),type="source")
#Restart R
this probierte NUR Sachen aus, seitdem ich NEIN habe/usr/local/Cellar/gfortran/
Verzeichnis. In der Tat alle meinelibgfortran*
-Dateien sind hier (im Mac-Verzeichnis):
>ls /opt/local/lib/gcc48/libgfortran.*
/opt/local/lib/gcc48/libgfortran.3.dylib /opt/local/lib/gcc48/libgfortran.dylib
/opt/local/lib/gcc48/libgfortran.a /opt/local/lib/gcc48/libgfortran.spec
und hier/opt/local/lib/gcc48/gcc/x86_64-apple-darwin13/4.8.3/libgfortranbegin.a
und ich habe keingfortran
Datei überall.
Dann habe ich den Code ausprobiert RccpvsR wieder und überraschenderweise hat es geklappt !. Abgesehen davon, dass ich eine Warnung bekomme:
ld: warning: directory not found for option '-L/usr/local/Cellar/gfortran/4.8.2/gfortran'
Weil es natürlich nicht existiert, aber die von diesem Code erzeugte Funktion,cosineRcpp
, läuft ohne Probleme.
Daher all das, um zu fragen, ob jemand weiß, ob ich das @ simlink mulibgfortran
files at/opt/local/lib/gcc48/
wie
ln -s /opt/local/lib/gcc48/libgfortran.* /usr/local/lib/
und dann die Zeile entfernen / bearbeiten:
FLIBS=-L/usr/local/Cellar/gfortran/4.8.2/gfortran
beim~/.R/Makevars
oder wenn ich etwas neues installieren muss.
Vielen Dank im Voraus für Ihre Zeit!