Gerelateerde vraag: State of the Mac OS in Scientific Computing en HPC

Een aanzienlijk aantal softwarepakketten in de computationele wetenschap is geschreven in Fortran, en Fortran zal niet verdwijnen. De Fortran-compiler is ook vereist om andere softwarepakketten te bouwen (een opmerkelijk voorbeeld is SciPy ).

Mac OS X bevat echter geen Fortran-compiler. Hoe moet ik een Fortran-compiler op mijn computer installeren?

Reacties

  • Het is niet alleen Fortran. Macs worden simpelweg niet ondersteund door de hoge kwaliteit repositories zoals Debian waar alles gewoon werkt. Het installeren van vrijwel alles wat gecompliceerd is op een Mac is lastig.

Antwoord

Kies je gif. Ik raad het gebruik van Homebrew aan. Ik heb al deze methoden geprobeerd, behalve “Fink” en “Other Methods”. Oorspronkelijk gaf ik de voorkeur aan d MacPorts toen ik dit antwoord schreef. In de twee jaar daarna is Homebrew enorm gegroeid als een project en beter te onderhouden dan MacPorts, waarvoor veel PATH hacking nodig kan zijn.

Installeren een versie die overeenkomt met systeemcompilers

Als u wilt dat de versie van gfortran overeenkomt met de versies van gcc, g ++, etc. die op uw machine zijn geïnstalleerd, download dan de juiste versie van gfortran van hier . De R-ontwikkelaars en SciPy-ontwikkelaars bevelen deze methode aan.

  • Voordelen : komt overeen met versies van compilers die zijn geïnstalleerd met XCode of met Kenneth Het installatieprogramma van Reitz ; het is onwaarschijnlijk dat het OS-upgrades verstoort; werkt goed samen met MacPorts (en waarschijnlijk Fink en Homebrew) omdat het installeert op /usr/bin. Bestaat niet tegen bestaande compilers . PATH hoeft niet te worden bewerkt.
  • Nadelen : Compiler-stack zal echt oud zijn. (GCC 4.2.1 is de nieuwste Apple-compiler; het werd uitgebracht in 2007.) Installeert op /usr/bin.

Installatie van een vooraf gecompileerd, up-to-date binair bestand van HPC Mac OS X

HPC Mac OS X heeft binaire bestanden voor de nieuwste release van GCC (op het moment van schrijven 4.8.0 (experimenteel)), evenals g77 binaries en een op f2c gebaseerde compiler. De PETSc-ontwikkelaars bevelen deze methode aan op hun FAQ .

  • Voordelen : Met het juiste commando, installeert in /usr/local; up-to-date. Verwerpt de bestaande systeemcompilers of de bovenstaande benadering niet. Heeft geen invloed op OS-upgrades.
  • Nadelen : moet . Er is geen gemakkelijke manier om tussen versies te wisselen. (Je zou het PATH kunnen wijzigen, de installatie van de compiler kunnen verwijderen of eromheen kunnen kloppen.) Zal andere methoden voor het installeren van compilers in /usr/local omdat binaire bestanden van de compiler eenvoudigweg “gcc”, “g ++”, enz. worden genoemd (zonder versienummer en zonder symlinks).

Gebruik MacPorts

MacPorts heeft een aantal versies van compilers beschikbaar voor gebruik.

  • Voordelen : installaties in /opt/local; port select kunnen worden gebruikt om tussen compilerversies te schakelen (inclusief systeemcompilers). Zal “niet interfereren met OS-upgrades.
  • Nadelen : het installeren van poorten neigt om een volledige “software ecosys tem “. Compilers bevatten geen foutopsporingssymbolen, die een probleem kunnen vormen bij het gebruik van een foutopsporingsprogramma of bij het installeren van PETSc. ( Sean Farley stelt een aantal tijdelijke oplossingen voor.) div id = “2be00892b1”>

. Kan de installatie van Homebrew en Fink verstoren. (Zie dit bericht op SuperUser .)

Gebruik Homebrew

Homebrew kan ook worden gebruikt om een Fortran-compiler te installeren.

  • Voordelen : Eenvoudig te gebruiken pakketbeheerder; installeert dezelfde Fortran-compiler als in “Een versie installeren die overeenkomt met systeemcompilers”. Installeer alleen wat je nodig hebt (in tegenstelling tot MacPorts). Kan een nieuwere GCC (4.7.0) -stack installeren met behulp van de alternatieve repository homebrew-dupes.
  • Nadelen : Erft alle nadelen van “Een versie installeren die overeenkomt met systeemcompilers”.Moet mogelijk het Homebrew-paradigma volgen bij het installeren van andere (niet-Homebrew) software naar /usr/local om te voorkomen dat er iets misgaat. Kan de installatie van MacPorts en Fink verstoren. (Zie dit bericht op SuperUser .) Noodzaak om PATH te wijzigen. Installaties kunnen afhangen van systeembibliotheken, wat betekent dat de afhankelijkheden voor Homebrew-pakketten kunnen breken bij een OS-upgrade. (Zie dit artikel .) Ik zou niet verwachten dat er afhankelijkheden van systeembibliotheken zouden zijn bij het installeren van gfortran, maar er kunnen dergelijke afhankelijkheden zijn bij het installeren van andere Homebrew-pakketten.

Gebruik Fink

In theorie kun je Fink gebruiken om gfortran te installeren. Ik heb “t gebruikte het, en ik ken niemand die iets positiefs heeft (en bereid was om iets positiefs te zeggen).

Andere methoden

Andere binaire bestanden en links worden vermeld op de GFortran wiki . Sommige van de links staan hierboven al vermeld. De overige installatiemethoden kunnen wel of niet in strijd zijn met de hierboven beschreven; gebruik op eigen risico.

Opmerkingen

  • Er was een tijd dat Fink de geprefereerde pakketbeheerder was boven MacPorts. Ik ben ermee gestopt jaren geleden omdat de stack oud was en niet werd onderhouden en ‘ t bevatten veel van de bibliotheken die ik regelmatig gebruikte. Met ongeveer elke methode hier eindig je met een aantal dingen die worden beheerd door de pakketbeheerder en sommige dingen die je met de hand rolt. Homebrew is beter met een dergelijk systeem, maar het heeft veel meer bibliotheken nodig om echt te kunnen concurreren met MacPorts.
  • Je kunt ook projecten gebruiken zoals Sage (sagemath.org) of Qsnake ( qsnake.com ), die hun eigen Fortran-compiler verzenden en u in staat stellen te werken in een ” omgeving “, waar je ” gfortran ” kunt bellen.
  • Ik heb fink ‘ s gfortran op mijn 10.5 box, maar heb het nooit echt serieus getest. Het zal cernlib en geant3 compileren, maar ik heb de laatste tijd ‘ geen grote klussen onder beide uitgevoerd.
  • Voor Homebrew is gfortran nu geïnstalleerd met 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
  • De link naar Sean Farley ‘ s Wiki-pagina werkt niet meer (in verwijzing naar hoe debuggers kunnen werken met MacPorts-installaties). Kan dit opnieuw worden gekoppeld?

Answer

EasyBuild ( http://hpcugent.github.com/easybuild ) stelt je in staat om eenvoudig je eigen set GCC-compilers te bouwen en te installeren.

In feite geef je het een simpele easyconfig (.eb) bestand dat specificeert wat u wilt bouwen (GCC + versie + set talen waarvoor u compilers wilt + …), en dan is bouwen en installeren een enkele opdracht. Ik zou zeggen dat het een beetje lijkt op Homebrew, maar het geeft je meer vrijheid.

Bovendien ondersteunt EasyBuild tal van andere (wetenschappelijke) softwarepakketten die kunnen worden gebouwd en geïnstalleerd met een enkele opdracht, dus Het is de moeite waard om naar te kijken.

Disclaimer: Ik maak deel uit van het EasyBuild-team. Het bouwen van GCC (met gfortran inbegrepen) zou moeten werken op OS X, maar andere builds kunnen lastig zijn. We werken eraan, laat het ons weten als je in de problemen komt.

Opmerkingen

  • Heb je testen gedaan op OS X? zeg dat ‘ zou moeten werken ‘ is het uit ervaring of verwachtingen?
  • @DeerHunter: Uit ervaring, mijn persoonlijke laptop is een Mac met OS X. Het bouwen van GCC werkt, maar het is bekend dat EasyBuild problemen heeft met een aantal andere builds. We hopen daar binnenkort naar te kijken.
  • Upvoting … Blijkbaar hebben we EASY_BUILD gebruikt om python-goodies in RPMs verpakken …
  • @DeerHunter EasyBuild heeft momenteel geen ‘ ondersteuning voor het verpakken van spullen in RPMs. Misschien heb je ‘ verwart EasyBuild (wat het ‘ eb ‘ commando levert), met ‘ easy_install ‘, de Python-installatietool die wordt geleverd door setuptools / disitutils?
  • Je hebt gelijk; willekeurig geheugen mislukkingen. Zal hoe dan ook EasyBuild bekijken. Verpakken wordt gedaan door fpm

Answer

Ik zou Intel Fortran Composer op MacOS aanraden. Het is goed, up-to-date en werkt. Een negatief punt is dat het niet gratis is. Ik denk echter dat er een gratis evaluatie van 30 dagen is.

Onder Linux bieden ze een gratis, niet-commerciële versie aan.

Reacties

  • Linux-gebruikers kunnen Solaris Studio ook installeren. Het is zeer goed geïntegreerd (C / C ++ / Fortran-compilers). Dbxtool is erg handig, net als de analyzer (bijv. Voor het detecteren van racecondities in openmp-programmas).

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *