Jak zainstalować kompilator Fortran na komputerze Mac? (OS X 10.x, x> = 4)

25

Powiązane pytanie: stan systemu Mac OS w Scientific Computing i HPC

Znaczna liczba pakietów oprogramowania dla nauk obliczeniowych została napisana w Fortranie, a Fortran nie odchodzi. Kompilator Fortran jest także wymagany do budowania innych pakietów oprogramowania (jednym z godnych uwagi przykładów jest SciPy ).

Jednak Mac OS X nie zawiera kompilatora Fortran. Jak powinienem zainstalować kompilator Fortran na moim komputerze?

Geoff Oxberry
źródło
1
To nie tylko Fortran. Komputery Mac po prostu nie mają obsługiwanych repozytoriów wysokiej jakości, takich jak Debian, w których wszystko po prostu działa. Instalowanie praktycznie dowolnej rzeczy skomplikowanej na komputerze Mac jest uciążliwe.
stali

Odpowiedzi:

32

Wybierz swoją truciznę. Polecam korzystanie z Homebrew. Próbowałem wszystkich tych metod z wyjątkiem „Fink” i „Innych metod”. Początkowo wolałem MacPorts, kiedy pisałem tę odpowiedź. W ciągu dwóch lat Homebrew bardzo się rozwinęło jako projekt i okazało się, że jest łatwiejsze w utrzymaniu niż MacPorts, które mogą wymagać dużo PATHhakowania.

Instalowanie wersji pasującej do kompilatorów systemowych

Jeśli chcesz, aby wersja gfortranu była zgodna z wersjami gcc, g ++ itp. Zainstalowanymi na twoim komputerze, pobierz odpowiednią wersję gfortranu tutaj . Te deweloperzy R i deweloperzy scipy polecam tej metody.

  • Zalety : Pasuje do wersji kompilatorów zainstalowanych z XCode lub instalatorem Kennetha Reitza ; jest mało prawdopodobne, aby zakłócało aktualizacje systemu operacyjnego; ładnie współistnieje z MacPorts (i prawdopodobnie Fink i Homebrew), ponieważ się instaluje /usr/bin. Nie blokuje istniejących kompilatorów. Nie trzeba edytować PATH.
  • Wady : Stos kompilatora będzie naprawdę stary. (GCC 4.2.1 to najnowszy kompilator Apple; został wydany w 2007 r.) Instaluje się w /usr/bin.

Instalowanie wstępnie skompilowanego, aktualnego pliku binarnego z HPC Mac OS X

HPC Mac OS X ma pliki binarne dla najnowszej wersji GCC (w chwili pisania tego tekstu, 4.8.0 (eksperymentalna)), a także pliki binarne g77 oraz kompilator oparty na f2c. Programiści PETSc zalecają tę metodę w swoich FAQ .

  • Zalety : Przy odpowiednim poleceniu instaluje się w /usr/local; aktualny. Nie blokuje istniejących kompilatorów systemowych ani powyższego podejścia. Nie będzie zakłócać aktualizacji systemu operacyjnego.
  • Wady : trzeba edytować PATH. Nie ma łatwego sposobu przełączania między wersjami. (Możesz zmodyfikować ŚCIEŻKĘ, usunąć instalację kompilatora lub kludge wokół niego.) Zablokuje inne metody instalowania kompilatorów, /usr/localponieważ pliki binarne kompilatora są po prostu nazywane „gcc”, „g ++” itd. (Bez numeru wersji i bez wszelkie dowiązania symboliczne).

Użyj MacPorts

MacPorts ma do dyspozycji wiele wersji kompilatorów.

  • Zalety : instaluje się w /opt/local; port selectmoże służyć do przełączania wersji kompilatora (w tym kompilatorów systemowych). Nie będzie zakłócać aktualizacji systemu operacyjnego.
  • Wady : instalowanie portów zwykle wymaga całego „ekosystemu oprogramowania”. Kompilatory nie zawierają symboli debugowania, które mogą stanowić problem podczas korzystania z debugera lub instalowania programu PETSc. ( Sean Farley proponuje pewne obejścia). Również wymaga zmiany PATH. Może zakłócać instalacje Homebrew i Fink. (Zobacz ten post na SuperUser .)

Użyj Homebrew

Homebrew można również wykorzystać do zainstalowania kompilatora Fortran.

  • Zalety : Łatwy w użyciu menedżer pakietów; instaluje ten sam kompilator Fortran, co w „Instalowaniu wersji pasującej do kompilatorów systemowych”. Instaluj tylko to, czego potrzebujesz (w przeciwieństwie do MacPorts). Można zainstalować nowszy stos GCC (4.7.0) przy użyciu alternatywnego duplikatu homebrew repozytorium.
  • Wady : dziedziczy wszystkie wady po „Instalowaniu wersji pasującej do kompilatorów systemowych”. Może być konieczne przestrzeganie paradygmatu Homebrew podczas instalowania innego oprogramowania (nie Homebrew), /usr/localaby uniknąć bałaganu. Może zakłócać instalacje MacPorts i Fink. (Zobacz ten post na SuperUser .) Musisz zmienić PATH. Instalacje mogą zależeć od bibliotek systemowych, co oznacza, że ​​zależności dla pakietów Homebrew mogą ulec awarii podczas aktualizacji systemu operacyjnego. (Zobacz ten artykuł ). Nie spodziewałbym się, że podczas instalacji gfortran będą istnieć zależności bibliotek systemowych, ale mogą istnieć takie zależności podczas instalowania innych pakietów Homebrew.

Użyj Fink

Teoretycznie możesz użyć Fink, aby zainstalować gfortran. Nie korzystałem z niego i nie znam nikogo, kto to zrobił (i był gotów powiedzieć coś pozytywnego).

Inne metody

Inne pliki binarne i linki są wymienione na wiki GFortran . Niektóre linki są już wymienione powyżej. Pozostałe metody instalacji mogą, ale nie muszą kolidować z metodami opisanymi powyżej; używać na własne ryzyko.

Geoff Oxberry
źródło
Był czas, kiedy Fink był preferowanym menedżerem pakietów niż MacPorts. Przestałem go używać lata temu, ponieważ stos był stary i nie był utrzymywany oraz nie zawierał wielu bibliotek, z których regularnie korzystałem. Z każdą tutaj metodą można skończyć z niektórymi rzeczami zarządzanymi przez menedżera pakietów i niektórymi rzeczami, które można rzutować ręcznie. Homebrew jest lepszy z takim systemem, ale potrzebuje znacznie więcej bibliotek, aby naprawdę konkurować z MacPorts.
aterrel
1
Możesz także używać projektów takich jak Sage (sagemath.org) lub Qsnake ( qsnake.com ), które dostarczają własny kompilator Fortran i pozwalają pracować w „środowisku”, w którym możesz po prostu nazwać „gfortran”.
Ondřej Čertík
Mam gfortran fink na moim pudełku 10.5, ale nigdy nie wystawiłem go na naprawdę poważny test. To będzie skompilować cernlib i geant3, ale nie uruchamiać żadnych dużych prac pod albo ostatnio.
dmckee,
W przypadku Homebrew gfortran jest teraz instalowany z 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
Dave Everitt
Link do strony Wiki Seana Farleya już nie działa (w odniesieniu do tego, jak zachęcić debugerów do pracy z instalacjami MacPorts). Czy można to ponownie połączyć?
TSGM
1

EasyBuild ( http://hpcugent.github.com/easybuild ) pozwala łatwo zbudować i zainstalować własny zestaw kompilatorów GCC.

Zasadniczo dajesz mu prosty plik easyconfig (.eb), który określa, co chcesz zbudować (wersja GCC + + zestaw języków, w których chcesz kompilatory dla + ...), a następnie budowanie i instalowanie to jedno polecenie. Powiedziałbym, że to trochę jak Homebrew, ale daje ci więcej swobody.

Ponadto EasyBuild obsługuje wiele innych (naukowych) pakietów oprogramowania, które można zbudować i zainstalować za pomocą jednego polecenia, więc warto się przyjrzeć.

Oświadczenie: Jestem częścią zespołu EasyBuild. Budowanie GCC (z dołączonym gfortranem) powinno działać na OS X, ale inne kompilacje mogą być kłopotliwe. Pracujemy nad tym, daj nam znać, jeśli napotkasz problemy.

Kenneth Hoste
źródło
Czy przeprowadziłeś już testy na OS X? Kiedy mówisz „powinno działać”, czy wynika to z doświadczenia lub oczekiwań?
Deer Hunter,
@DeerHunter: Z doświadczenia wynika, że ​​mój osobisty laptop to komputer Mac z systemem OS X. Budowanie GCC działa, ale wiadomo, że EasyBuild ma problemy z niektórymi innymi kompilacjami. Mamy nadzieję, że wkrótce się temu przyjrzymy.
Kenneth Hoste
Upvoting ... Okazuje się, że używa EASY_BUILD do pakowania gadżetów Pythona w RPM ...
Deer Hunter
@DeerHunter EasyBuild obecnie nie obsługuje pakowania rzeczy do RPM. Być może mylisz EasyBuild (który udostępnia polecenie „eb”) z „easy_install”, narzędziem instalacyjnym Python, które jest dostarczane przez setuptools / disitutils?
Kenneth Hoste,
Masz rację; losowe awarie pamięci. W każdym razie sprawdzi EasyBuild. Pakowanie odbywa się fpm...
Deer Hunter,
0

Sugerowałbym Intel Fortran Composer na MacOS. Jest dobry, aktualny i działa. Jedna negatywna rzecz, to nie jest za darmo. Myślę jednak, że jest 30 dni bezpłatnej oceny.

Pod Linuksem oferują bezpłatną, niekomercyjną wersję.

electrique
źródło
Użytkownicy systemu Linux mogą również zainstalować Solaris Studio. Jest bardzo dobrze zintegrowany (kompilatory C / C ++ / Fortran). Dbxtool jest bardzo przydatny, podobnie jak analizator (np. Do wykrywania warunków wyścigu w programach openmp).
stali