Relateret spørgsmål: Status for Mac OS inden for videnskabelig databehandling og HPC

Et betydeligt antal softwarepakker inden for beregningsvidenskab er skrevet i Fortran, og Fortran forsvinder ikke. A Fortran-kompilator er også forpligtet til at oprette andre softwarepakker (et bemærkelsesværdigt eksempel er SciPy ).

Mac OS X inkluderer dog ikke en Fortran-kompilator. Hvordan skal jeg installere en Fortran-kompilator på min maskine?

Kommentarer

  • Det er ikke kun Fortran. Mac-computere har simpelthen ikke den høje kvalitet understøttet opbevaringssteder som Debian, hvor alt bare fungerer. Installation af stort set enhver ting kompliceret på en Mac er smertefuldt.

Svar

Vælg din gift. Jeg anbefaler at bruge Homebrew. Jeg har prøvet alle disse metoder undtagen “Fink” og “Andre metoder”. Oprindeligt foretrækker jeg d MacPorts, da jeg skrev dette svar. I de to år siden er Homebrew vokset meget som et projekt og har vist sig at være mere vedligeholdeligt end MacPorts, hvilket kan kræve en masse PATH hacking.

Installation en version, der matcher systemkompilatorer

Hvis du vil have versionen af gfortran til at matche versionerne af gcc, g ++ osv. installeret på din maskine, skal du downloade den relevante version af gfortran fra her . R-udviklere og SciPy-udviklere anbefaler denne metode.

  • Fordele : Matcher versioner af compilers installeret med XCode eller med Kenneth Reitzs installatør , sandsynligvis ikke forstyrre OS-opgraderinger; eksisterer fint sammen med MacPorts (og sandsynligvis Fink og Homebrew), fordi det installeres til /usr/bin. Klemmer ikke eksisterende kompilatorer . Behøver ikke at redigere PATH.
  • Ulemper : Compiler stack vil være rigtig gammel. (GCC 4.2.1 er den nyeste Apple-compiler; den blev udgivet i 2007.) Installationer til /usr/bin.

Installation af en forudkompileret, opdateret binær fra HPC Mac OS X

HPC Mac OS X har binærfiler til det nyeste frigivelse af GCC (på tidspunktet for denne skrivning 4.8.0 (eksperimentel)) samt g77-binære filer og en f2c-baseret kompilator. PETSc-udviklerne anbefaler denne metode på deres FAQ .

  • Fordele : Med den rigtige kommando installeres i /usr/local; up-to-date. Klemmer ikke eksisterende systemkompilatorer eller fremgangsmåden ovenfor. Vandt ikke interferens med OS-opgraderinger.
  • Ulemper : Nødvendigt at redigere PATH. Ingen nem måde at skifte mellem versioner. (Du kan ændre PATH, slette compilerinstallationen eller kludge rundt om den.) Clobber andre metoder til installation af compilers i /usr/local fordi compiler-binære filer simpelthen hedder “gcc”, “g ++” osv. (uden et versionsnummer og uden nogen symlinks).

Brug MacPorts

MacPorts har et antal versioner af compilere tilgængelige til brug.

  • Fordele : Installationer i /opt/local; port select kan bruges til at skifte mellem compilerversioner (inklusive systemkompilatorer). Vil ikke forstyrre OS-opgraderinger.
  • Ulemper : Installation af porte har tendens at kræve en hel “softwareøkos tem “. Kompilatorer inkluderer ikke fejlsøgningssymboler, som kan udgøre et problem, når du bruger en fejlfinding eller installerer PETSc. ( Sean Farley foreslår nogle løsninger.) Kræver også ændring div id = “2be00892b1”>

. Kan interferere med Homebrew og Fink installationer. (Se dette indlæg på SuperUser .)

Brug Homebrew

Homebrew kan også bruges til at installere en Fortran-kompilator.

  • Fordele : Let at bruge pakkehåndtering; installerer den samme Fortran-compiler som i “Installation af en version, der matcher systemkompilatorer”. Installer kun det, du har brug for (i modsætning til MacPorts). Kunne installere en nyere GCC (4.7.0) stak ved hjælp af det alternative lager homebrew-dupes.
  • Ulemper : Arver alle ulemperne fra “Installation af en version, der matcher systemkompilatorer”.Det kan være nødvendigt at følge Homebrew-paradigmet, når du installerer anden (ikke-Homebrew) software til /usr/local for at undgå at ødelægge noget. Kan interferere med MacPorts og Fink installationer. (Se dette indlæg på SuperUser .) Behov for at ændre PATH. Installationer kan afhænge af systembiblioteker, hvilket betyder, at afhængigheder for Homebrew-pakker kan gå i stykker ved en OS-opgradering. (Se denne artikel .) Jeg forventer ikke, at der er systembiblioteksafhængigheder, når du installerer gfortran, men der kan være sådanne afhængigheder, når du installerer andre Homebrew-pakker.

Brug Fink

I teorien kan du bruge Fink til at installere gfortran. Jeg har ikke t brugte det, og jeg kender ikke nogen, der har (og var villige til at sige noget positivt).

Andre metoder

Andre binære filer og links er angivet på GFortran wiki . Nogle af linkene er allerede anført ovenfor. De resterende installationsmetoder er måske ikke i konflikt med dem, der er beskrevet ovenfor. Brug på egen risiko.

Kommentarer

  • Der var en tid, hvor Fink var den foretrukne pakkehåndtering frem for MacPorts. Jeg stoppede med at bruge den for mange år siden, fordi stakken var gammel og ikke vedligeholdt og ‘ t inkluderer mange af de biblioteker, jeg brugte regelmæssigt. Med næsten alle metoder her ender du med nogle ting, der administreres af pakkehåndteringen, og nogle ting, du ruller i hånden. Homebrew er bedre med et sådant system, men det har brug for langt flere biblioteker for at være virkelig konkurrencedygtige med MacPorts.
  • Du kan også bruge projekter som Sage (sagemath.org) eller Qsnake ( qsnake.com ), der sender deres egen Fortran-kompilator og giver dig mulighed for at arbejde i ” miljø “, hvor du bare kan ringe til ” gfortran “.
  • Jeg har fink ‘ s gfortran på min 10.5-boks, men har aldrig sat det virkelig seriøst. Det vil kompilere cernlib og geant3, men jeg har ikke ‘ Jeg har ikke kørt store job under nogen af de seneste.
  • For Homebrew er gfortran nu installeret med 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
  • Linket til Sean Farley ‘ s Wiki-side fungerer ikke længere (med henvisning til hvordan man får debuggere til at arbejde med MacPorts-installationer). Kan dette linkes igen?

Svar

EasyBuild ( http://hpcugent.github.com/easybuild ) giver dig mulighed for nemt at opbygge og installere dit eget sæt GCC-kompilatorer.

Dybest set giver du det en simpel easyconfig (.eb) fil, der specificerer, hvad du vil opbygge (GCC + version + sæt sprog, du vil have compilers til + …), og derefter er bygning og installation en enkelt kommando. Jeg siger det er lidt ligesom Homebrew, men det giver dig mere frihed.

EasyBuild understøtter også mange andre (videnskabelige) softwarepakker, der kan bygges og installeres med en enkelt kommando, så det “Det er værd at undersøge.

Ansvarsfraskrivelse: Jeg er en del af EasyBuild-teamet. Bygning af GCC (med gfortran inkluderet) skal fungere på OS X, men andre builds kan være besværlige. Vi arbejder på det, så lad os vide, hvis du får problemer.

Kommentarer

  • Har du foretaget test på OS X? Når du siger ‘ skal arbejde ‘ er det af erfaring eller forventninger?
  • @DeerHunter: Fra erfaring, min personlige bærbare computer er en Mac, der kører OS X. Bygning af GCC fungerer, men det er kendt, at EasyBuild har problemer med nogle andre builds. Vi håber snart at se på det.
  • Opstemning … Det viser sig, at de har brugt EASY_BUILD til pakke python-godbidder til RPMer …
  • @DeerHunter EasyBuild har i øjeblikket ikke ‘ t understøttelse af emballering af ting til RPMer. Måske har du ‘ forvirrer EasyBuild (som giver ‘ eb ‘ kommando) med ‘ easy_install ‘, Python-installationsværktøjet, der leveres af setuptools / disitutils?
  • Du har ret; tilfældig hukommelse fejl. Vil alligevel tjekke EasyBuild. Emballering udføres af fpm

Svar

Jeg vil foreslå Intel Fortran Composer på MacOS. Det er godt, opdateret og fungerer. Én negativ ting, det er ikke gratis. Jeg tror dog, at der er en 30 dages gratis evaluering.

Under Linux tilbyder de en gratis, ikke-kommerciel version.

Kommentarer

  • Linux-brugere kan også installere Solaris Studio. Det er meget godt integreret (C / C ++ / Fortran compilers). Dbxtool er meget nyttigt, og det samme er analysatoren (f.eks. Til at opdage race-forhold i openmp-programmer).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *