L’installazione del pacchetto OS X dipende da gfortran-4.8

Sto usando la versione di sviluppo di OS X di R

R Under development (unstable) (2014-05-27 r65787) Platform: x86_64-apple-darwin13.1.0 (64-bit) 

con GNU Fortran (GCC) 4.2.3 (dal sito di Simon ) e versione 5.1.1 degli strumenti da riga di comando di Xcode.

Quando si costruisce dalla fonte, ottengo errori come:

 gfortran-4.8 -fPIC -g -O2 -c altmov.f -o altmov.o make: gfortran-4.8: No such file or directory 

Non sono sicuro di cosa fare qui. Potrei creare un alias per la versione che ho ma non sono sicuro che abbia davvero bisogno di 4.8 o meno.

Grazie,

Max

Digita queste due linee nel tuo terminale, citazione diretta:

 curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2 sudo tar fvxj gfortran-4.8.2-darwin13.tar.bz2 -C / 

Ti scaricherà il gfortran per Mavericks (che al momento manca nel tuo sistema) e lo installerà nel tuo sistema. Almeno, questo ha risolto lo stesso problema per me

(Sto lavorando alla fine del 2011 MacPro, Mavericks).

Edit : ora penso che questo è meglio realizzato usando Homebrew:

 brew reinstall gcc48 --with-fortran 

Mentre penso che la seguente procedura funzionerà, non è così pulita. Tuttavia, consiglio comunque di configurare ~ / .R / Makevars come descritto di seguito.

Per build la risposta di @ TheBigMike, ho usato la seguente procedura per installare gfortran-4.8 insieme a homebrew e quindi configurato R per selezionare questo compilatore fortran.

Innanzitutto, scarica e decomprimi gfortran 4.8:

 su admin curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2 mkdir /tmp/gfortran tar fvxz gfortran-4.8.2-darwin13.tar.bz2 -C /tmp/gfortran 

Elimina l’alias del file gfortran che interferisce con l’homebrew:

 rm /tmp/gfortran/usr/local/bin/gfortran 

Installa gfortran 4.8

 cp -r /tmp/gfortran/usr/local/ /usr/local 

Per dire a R di usare gfortran 4.8, crea un file chiamato ~/.R/Makevars :

 mkdir -p ~/.R touch ~/.R/Makevars 

Metti il ​​seguente in ~/.R/Makevars :

 FLIBS="" F77="gfortran-4.8" FC="gfortran-4.8" 

Ora riavvia R. Una volta che R è stato riavviato, tutti i pacchetti che dipendono da fortran 4.8 dovrebbero ora funzionare. l’homebrew dovrebbe essere indisturbato.

Questo è spiegato bene nelle FAQ Rcpp , sezione 2.16. Fondamentalmente è necessario installare gfortran ( homebrew install gcc o l’altro modo) e quindi modificare Makeconf per puntare FLIBS alle relative librerie fortran.

Questi sono stati i passi che hanno funzionato per me:

  1. Installa gcc48 tramite homebrew

  2. Assicurarsi che gfortran e gfortran-4.8 puntino alle nuove versioni installate.

  3. Commentare la variabile FLIBS in /Library/Frameworks/R.framework/Resources/etc/Makeconf .

Il passaggio 3 è stato il più importante, perché è stato progettato per funzionare con gfortran installato nel modo in cui @TheBigMike ha suggerito, ovvero scaricando ed estraendo l’archivio gfortran-4.8.2-darwin13.tar.bz2 .

Quanto segue ha funzionato per me su OSX High Sierra e RStudio 1.1.423:

  1. Installa gcc / gfortran tramite Homebrew: brew install gcc
  2. Modifica /Library/Frameworks/R.framework/Resources/etc/Makeconf e sostituisci tutte le istanze di gfortran-4.8 con gfortran
  3. Sostituisci anche FLIBS = -L/usr/local/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2 con FLIBS = -L/usr/local/lib/gcc/7/ -lgfortran -lquadmath -lm .
  4. Riprovare a installare il pacchetto.

Ho riscontrato lo stesso problema, anche se su R Studio. Quanto segue ha funzionato per me, anche se ho dovuto reinstallare tutti i miei pacchetti R dopo (nota: le re-installazioni hanno richiesto un po ‘di tempo e sembra che fosse in corso un po’, incerto se questi fossero i passi appropriati, usati a proprio rischio):

Scarica l’ultima versione di R Studio e poi segui nel terminale: brew install gcc brew update && brew reinstall r brew link --overwrite r

La versione aggiornata di RStudio (versione 0.98.1091) sembra risolvere questo problema.

  1. Installa gcc / gfortran tramite Homebrew: brew install gcc
  2. Assicurarsi che la sostituzione non avvenga automaticamente: /Library/Frameworks/R.framework/Resources/etc/Makeconf e sostituire tutte le istanze di gfortran-4.8 (o qualsiasi numero) con gfortran
  3. Sostituisci FLIBS = -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin15/6.1.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm a FLIBS = -L/usr/local/lib/gcc/7/ -lgfortran -lquadmath -lm
  4. Reinstallare il pacchetto per me era robustbase che era richiesto dalla libreria fpc

Installazione di gcc tramite homebrew dammi gfortran :

 brew install gcc 

Poi:

 $which gfortran /usr/local/bin/gfortran