Domanda correlata: Stato del sistema operativo Mac nellelaborazione scientifica e HPC

Un numero significativo di pacchetti software nella scienza computazionale è scritto in Fortran e Fortran non verrà eliminato. A Il compilatore Fortran è richiesto anche per creare altri pacchetti software (un esempio degno di nota è SciPy ).

Tuttavia, Mac OS X non include un Compilatore Fortran. Come dovrei installare un compilatore Fortran sulla mia macchina?

Commenti

  • Non è solo Fortran. I Mac semplicemente non supportano lalta qualità repository come Debian dove tutto funziona e basta. Installare praticamente qualsiasi cosa complicata su un Mac è un problema.

Risposta

Scegli il tuo veleno. Consiglio di utilizzare Homebrew. Ho provato tutti questi metodi tranne “Fink” e “Altri metodi”. In origine, preferisco d MacPorts quando ho scritto questa risposta. Nei due anni successivi, Homebrew è cresciuto molto come progetto e si è dimostrato più manutenibile di MacPorts, che può richiedere molto PATH hacking.

Installazione una versione che corrisponde ai compilatori di sistema

Se desideri che la versione di gfortran corrisponda alle versioni di gcc, g ++, ecc. installate sul tuo computer, scarica la versione appropriata di gfortran da qui . Gli sviluppatori R e gli sviluppatori SciPy consigliano questo metodo.

  • Vantaggi : corrisponde alle versioni dei compilatori installati con XCode o con Kenneth Il programma di installazione di Reitz ; è improbabile che interferisca con gli aggiornamenti del sistema operativo; coesiste bene con MacPorts (e probabilmente Fink e Homebrew) perché si installa su /usr/bin. Non sostituisce i compilatori esistenti . Non è necessario modificare PATH.
  • Svantaggi : Lo stack del compilatore sarà molto vecchio (GCC 4.2.1 è lultimo compilatore Apple; è stato rilasciato nel 2007). Si installa su /usr/bin.

Linstallazione di un binario precompilato e aggiornato da HPC Mac OS X

HPC Mac OS X ha binari per gli ultimi rilascio di GCC (al momento della stesura di questo documento, 4.8.0 (sperimentale)), nonché dei binari g77 e di un compilatore basato su f2c. Gli sviluppatori PETSc consigliano questo metodo sul loro FAQ .

  • Vantaggi : con il comando corretto, installa in /usr/local; aggiornato. Non sostituisce i compilatori di sistema esistenti o lapproccio precedente. Non ha interferito con gli aggiornamenti del sistema operativo.
  • Svantaggi : è necessario modificare PATH. Non è un modo semplice per passare da una versione allaltra. (Puoi modificare il PERCORSO, eliminare linstallazione del compilatore o aggirarlo). Sovraccaricherà altri metodi di installazione dei compilatori in /usr/local perché i binari del compilatore sono semplicemente chiamati “gcc”, “g ++”, ecc. (senza un numero di versione e senza collegamenti simbolici).

Usa MacPort

MacPorts ha diverse versioni di compilatori disponibili per luso.

  • Vantaggi : le installazioni in /opt/local; port select possono essere utilizzate per passare da una versione del compilatore a unaltra (inclusi i compilatori di sistema). Non interferirà con gli aggiornamenti del sistema operativo.
  • Svantaggi : linstallazione delle porte tende richiedere un intero “software ecosys tem “. I compilatori non includono simboli di debug, che possono rappresentare un problema quando si utilizza un debugger o si installa PETSc. ( Sean Farley propone alcune soluzioni alternative). Richiede inoltre una modifica PATH. Potrebbe interferire con le installazioni di Homebrew e Fink. (Vedi questo post su SuperUser .)

Usa Homebrew

Homebrew può essere utilizzato anche per installare un compilatore Fortran.

  • Vantaggi : gestore di pacchetti facile da usare; installa lo stesso compilatore Fortran come in “Installazione di una versione che corrisponde ai compilatori di sistema”. Installa solo quello che ti serve (a differenza di MacPorts). Potrebbe installare uno stack GCC (4.7.0) più recente utilizzando il repository alternativo homebrew-dupes.
  • Svantaggi : eredita tutti gli svantaggi dall “Installazione di una versione che corrisponde ai compilatori di sistema”.Potrebbe essere necessario seguire il paradigma Homebrew quando si installa altro software (non Homebrew) su /usr/local per evitare di rovinare qualcosa. Potrebbe interferire con le installazioni di MacPorts e Fink. (Vedi questo post su SuperUser .) È necessario modificare PATH. Le installazioni potrebbero dipendere dalle librerie di sistema, il che significa che le dipendenze per i pacchetti Homebrew potrebbero interrompersi con un aggiornamento del sistema operativo. (Vedi questo articolo .) Non mi aspetto che ci siano dipendenze dalla libreria di sistema durante linstallazione di gfortran, ma potrebbero esserci tali dipendenze durante linstallazione di altri pacchetti Homebrew.

Usa Fink

In teoria, puoi usare Fink per installare gfortran. Non ho “t lho usato e non conosco nessuno che labbia fatto (ed era disposto a dire qualcosa di positivo).

Altri metodi

Altri binari e collegamenti sono elencati nel GFortran wiki . Alcuni dei link sono già elencati sopra. I restanti metodi di installazione possono o non possono essere in conflitto con quelli sopra descritti; usali a tuo rischio.

Commenti

  • Cè stato un tempo in cui Fink era il gestore di pacchetti preferito su MacPorts. Ho smesso di usarlo anni fa perché lo stack era vecchio e non mantenuto e non ' t include molte delle librerie che ho usato regolarmente. Con quasi tutti i metodi qui si finisce con alcune cose gestite dal gestore di pacchetti e alcune cose che si rotolano a mano. Homebrew è migliore con un sistema del genere, ma ha bisogno di molte più librerie per essere davvero competitivo con MacPort.
  • Puoi anche utilizzare progetti come Sage (sagemath.org) o Qsnake ( qsnake.com ), che forniscono il proprio compilatore Fortran e ti consentono di lavorare in " ambiente ", dove puoi semplicemente chiamare " gfortran ".
  • Ho fink ' s gfortran sulla mia scatola 10.5, ma non lho mai messo a un test veramente serio. compilerà cernlib e geant3, ma ' non ho eseguito alcun grosso lavoro in entrambi gli ultimi tempi.
  • Per Homebrew, gfortran è ora installato con brew install gcc: $ brew install gfortran gives the message: Error: No available formula for gfortran GNU Fortran is now provided as part of GCC, and can be installed with: brew install gcc
  • Il link a Sean Farley ' s non funziona più (in riferimento a come far funzionare i debugger con le installazioni di MacPorts). Può essere ricollegato?

Risposta

EasyBuild ( http://hpcugent.github.com/easybuild ) ti consente di creare e installare facilmente il tuo set di compilatori GCC.

Fondamentalmente, gli dai un semplice easyconfig (.eb) file che specifica cosa si desidera costruire (versione GCC + + set di lingue per cui si desidera compilare + …), quindi la creazione e linstallazione è un singolo comando. Direi che è un po come Homebrew, ma ti dà più libertà.

Inoltre, EasyBuild supporta molti altri pacchetti software (scientifici) che possono essere compilati e installati con un singolo comando, quindi “Vale la pena esaminare.

Disclaimer: Faccio parte del team di EasyBuild. Compilare GCC (con gfortran incluso) dovrebbe funzionare su OS X, ma altre build potrebbero essere problematiche. Ci stiamo lavorando, facci sapere se incontri dei problemi.

Commenti

  • Hai fatto dei test su OS X? Quando diciamo che ' dovrebbe funzionare ' è per esperienza o aspettative?
  • @DeerHunter: per esperienza, il mio laptop personale è un Mac, con OS X. La compilazione di GCC funziona, ma è noto che EasyBuild ha problemi con alcune altre build. Speriamo di esaminarlo presto.
  • Upvoting … Risulta che ho usato EASY_BUILD per pacchetto di oggetti Python in RPM …
  • @DeerHunter EasyBuild attualmente ' non supporta la creazione di pacchetti in RPM. Forse ' confondendo EasyBuild (che fornisce il comando ' eb '), con ' easy_install ', lo strumento di installazione di Python fornito da setuptools / disitutils?
  • Hai ragione; memoria casuale fallimenti. Controllerò comunque EasyBuild. Il pacchetto viene eseguito da fpm

Risposta

Suggerirei Intel Fortran Composer su MacOS. È buono, aggiornato e funziona. Una cosa negativa, non è gratuito. Penso però che ci sia una valutazione gratuita di 30 giorni.

Sotto Linux offrono una versione gratuita e non commerciale.

Commenti

  • Gli utenti Linux possono anche installare Solaris Studio. È molto ben integrato (compilatori C / C ++ / Fortran). Dbxtool è molto utile e lo è anche lanalizzatore (ad esempio per rilevare le condizioni di gara nei programmi openmp).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *