Beslektet spørsmål: Status for Mac OS i vitenskapelig databehandling og HPC
Et betydelig antall programvarepakker innen beregningsvitenskap er skrevet i Fortran, og Fortran forsvinner ikke. A Fortran-kompilatoren er også pålagt å bygge andre programvarepakker (et bemerkelsesverdig eksempel er SciPy ).
Mac OS X inkluderer imidlertid ikke en Fortran-kompilator. Hvordan skal jeg installere en Fortran-kompilator på maskinen min?
Kommentarer
- Det er ikke bare Fortran. Mac-maskiner har rett og slett ikke den høye kvaliteten som støttes repositories som Debian hvor alt bare fungerer. Å installere stort sett alle ting som er kompliserte på en Mac er vondt.
Svar
Velg giftet ditt. Jeg anbefaler å bruke Homebrew. Jeg har prøvd alle disse metodene bortsett fra «Fink» og «Other Methods». Opprinnelig foretrekker jeg d MacPorts da jeg skrev dette svaret. I løpet av de to årene siden har Homebrew vokst mye som et prosjekt og har vist seg å være mer vedlikeholdsrikt enn MacPorts, noe som kan kreve mye PATH
hacking.
Installering en versjon som samsvarer med systemkompilatorer
Hvis du vil at versjonen av gfortran skal samsvare med versjonene av gcc, g ++ osv. installert på maskinen din, kan du laste ned riktig versjon av gfortran fra her . R-utviklerne og SciPy-utviklerne anbefaler denne metoden.
- Fordeler : Matcher versjoner av kompilatorer installert med XCode eller med Kenneth Reitzs installatør , sannsynligvis ikke forstyrre OS-oppgraderinger; eksisterer fint sammen med MacPorts (og sannsynligvis Fink og Homebrew) fordi det installeres til
/usr/bin
. Ikke klemmer eksisterende kompilatorer . Trenger ikke å redigerePATH
. - Ulemper : Compiler stack vil være veldig gammel. (GCC 4.2.1 er den siste Apple-kompilatoren; den ble utgitt i 2007.) Installasjoner til
/usr/bin
.
Installere en forhåndskompilert, oppdatert binær fra HPC Mac OS X
HPC Mac OS X har binærfiler for det siste utgivelse av GCC (i skrivende stund 4.8.0 (eksperimentell)), så vel som g77-binærfiler, og en f2c-basert kompilator. PETSc-utviklerne anbefaler denne metoden på deres Vanlige spørsmål .
- Fordeler : Med riktig kommando installeres i
/usr/local
; oppdatert. Feller ikke eksisterende systemkompilatorer eller fremgangsmåten ovenfor. Vil ikke forstyrre OS-oppgraderinger. - Ulemper : Trenger å redigere
PATH
. Ingen enkel måte å bytte mellom versjoner. (Du kan endre PATH, slette installasjonen av kompilatoren eller kludge rundt den.) Vil feste andre metoder for å installere kompilatorer i/usr/local
fordi kompilatorbinarier bare heter «gcc», «g ++» osv. (uten versjonsnummer og uten symlinker).
Bruk MacPorts
MacPorts har en rekke versjoner av kompilatorer tilgjengelig for bruk.
- Fordeler : Installasjoner i
/opt/local
;port select
kan brukes til å bytte mellom kompilatorversjoner (inkludert systemkompilatorer). Vil ikke forstyrre OS-oppgraderinger. - Ulemper : Installering av porter har en tendens å kreve en hel «programvareøkologi tem «. Kompilatorer inkluderer ikke feilsøkingssymboler, noe som kan utgjøre et problem når du bruker en feilsøkingsprogram, eller når du installerer PETSc. ( Sean Farley foreslår noen løsninger.) Krever også endring
PATH
. Kan forstyrre installasjonene fra Homebrew og Fink. (Se dette innlegget på SuperUser .)
Bruk Homebrew
Homebrew kan også brukes til å installere en Fortran-kompilator.
- Fordeler : Enkel å bruke pakkebehandling; installerer samme Fortran-kompilator som i «Installere en versjon som samsvarer med systemkompilatorer». Installer bare det du trenger (i motsetning til MacPorts). Kunne installere en nyere GCC (4.7.0) -stabel ved hjelp av det alternative arkivet homebrew-dupes.
- Ulemper : Arver alle ulempene fra «Installere en versjon som samsvarer med systemkompilatorer».Må kanskje følge Homebrew-paradigmet når du installerer annen (ikke-Homebrew) programvare til
/usr/local
for å unngå å rote noe til. Kan forstyrre MacPorts og Fink installasjoner. (Se dette innlegget på SuperUser .) Trenger å endrePATH
. Installasjoner kan avhenge av systembiblioteker, noe som betyr at avhengigheter for Homebrew-pakker kan gå i stykker ved en OS-oppgradering. (Se denne artikkelen .) Jeg forventer ikke at det vil være avhengigheter i systembiblioteket når du installerer gfortran, men det kan være slike avhengigheter når du installerer andre Homebrew-pakker.
Bruk Fink
I teorien kan du bruke Fink for å installere gfortran. Jeg har ikke brukte den, og jeg kjenner ikke noen som har (og var villige til å si noe positivt).
Andre metoder
Andre binære filer og lenker er oppført på GFortran wiki . Noen av lenkene er allerede oppført ovenfor. De resterende installasjonsmetodene kan være i konflikt med de som er beskrevet ovenfor. Bruk på egen risiko.
Kommentarer
- Det var en tid da Fink var den foretrukne pakkeforvalteren fremfor MacPorts. Jeg sluttet å bruke den for mange år siden fordi stakken var gammel og ikke vedlikeholdt og ikke ' t inkluderer mange av bibliotekene jeg brukte regelmessig. Med omtrent alle metoder her ender du opp med noen ting som administreres av pakkelederen og noen ting du ruller for hånd. Homebrew er bedre med et slikt system, men det trenger langt flere biblioteker for å være virkelig konkurransedyktige med MacPorts.
- Du kan også bruke prosjekter som Sage (sagemath.org) eller Qsnake ( qsnake.com ), som sender sin egen Fortran-kompilator og lar deg jobbe i " miljø ", der du bare kan ringe " gfortran ".
- Jeg har fink ' s gfortran på 10,5-boksen min, men har aldri satt den på en virkelig seriøs test. Det vil kompilere cernlib og geant3, men jeg har ikke ' t kjøre noen store jobber under den siste tiden.
- For Homebrew er gfortran nå installert 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
- Koblingen til Sean Farley ' s Wiki-side fungerer ikke lenger (med referanse til hvordan du får feilsøkere til å jobbe med MacPorts-installasjoner). Kan dette kobles på nytt?
Svar
EasyBuild ( http://hpcugent.github.com/easybuild ) lar deg bygge og installere ditt eget sett med GCC-kompilatorer enkelt.
I utgangspunktet gir du det en enkel easyconfig (.eb) fil som spesifiserer hva du vil bygge (GCC + versjon + sett med språk du vil ha kompilatorer for + …), og deretter er å bygge og installere en enkelt kommando. Jeg vil si det som Homebrew, men det gir deg mer frihet.
EasyBuild støtter også mange andre (vitenskapelige) programvarepakker som kan bygges og installeres med en enkelt kommando, så det «Det er verdt å se nærmere på.
Ansvarsfraskrivelse: Jeg er en del av EasyBuild-teamet. Å bygge GCC (med gfortran inkludert) skal fungere på OS X, men andre bygg kan være plagsomme. Vi jobber med det, gi oss beskjed hvis du får problemer.
Kommentarer
- Har du testet OS X? Når du si ' skal fungere ' er det av erfaring eller forventninger?
- @DeerHunter: Erfaringsmessig, min personlige bærbare datamaskin er en Mac som kjører OS X. Å bygge GCC fungerer, men EasyBuild er kjent for å ha problemer med noen andre bygninger. Vi håper å se nærmere på det snart.
- Oppstemming … Det viser seg at de har brukt EASY_BUILD til pakke python-godbiter i RPM …
- @DeerHunter EasyBuild har for øyeblikket ikke ' t støtte for å pakke inn ting i RPM. Kanskje du ' forvirrer EasyBuild (som gir ' eb ' kommandoen), med ' easy_install ', Python-installasjonsverktøyet som tilbys av setuptools / disitutils?
- Du har rett; tilfeldig minne feil. Vil sjekke ut EasyBuild, uansett. Emballasjen gjøres av
fpm
…
Svar
Jeg vil foreslå Intel Fortran Composer på MacOS. Det er bra, oppdatert og fungerer. En negativ ting, det er ikke gratis. Jeg tror det er en 30 dagers gratis evaluering skjønt.
Under Linux tilbyr de en gratis, ikke-kommersiell versjon.
Kommentarer
- Linux-brukere kan også installere Solaris Studio. Den er veldig godt integrert (C / C ++ / Fortran kompilatorer). Dbxtool er veldig nyttig, og det er også analysatoren (f.eks. For å oppdage løpsforhold i openmp-programmer).