Как мне установить компилятор Фортрана на Mac? (OS X 10.x, x> = 4)


25

Смежный вопрос: Состояние Mac OS в научных вычислениях и HPC

Значительное количество программных пакетов в вычислительной науке написано на Фортране, и Фортран не уходит. Компилятор Фортрана также необходим для сборки других программных пакетов (одним из примечательных примеров является SciPy ).

Тем не менее, Mac OS X не включает в себя компилятор Fortran. Как мне установить компилятор Фортрана на мою машину?


1
Это не просто Фортран. У Mac просто нет поддерживаемых репозиториев высокого качества, таких как Debian, где все просто работает. Установка практически любой сложной вещи на Mac - это боль.
Стали

Ответы:


32

Выбрать свой яд. Я рекомендую использовать Homebrew. Я перепробовал все эти методы, кроме «Fink» и «Other Methods». Первоначально я предпочел MacPorts, когда писал этот ответ. За два года, прошедшие с тех пор, Homebrew значительно вырос как проект и оказался более удобным, чем MacPorts, что может потребовать много PATHвзлома.

Установка версии, соответствующей системным компиляторам

Если вы хотите, чтобы версия gfortran соответствовала версиям gcc, g ++ и т. Д., Установленным на вашем компьютере, загрузите соответствующую версию gfortran здесь . В разработчиках R и разработчики SciPy рекомендуют этот метод.

  • Преимущества : Соответствует версиям компиляторов, установленных с XCode или с установщиком Кеннета Рейтца ; вряд ли помешает обновлению ОС; прекрасно сосуществует с MacPorts (и, вероятно, Fink и Homebrew), потому что он устанавливается в /usr/bin. Не забивает существующие компиляторы. Не нужно редактировать PATH.
  • Недостатки : стек компилятора будет очень старым. (GCC 4.2.1 - последний компилятор Apple; он был выпущен в 2007 году.)/usr/bin .

Установка предварительно скомпилированного, современного двоичного файла из HPC Mac OS X

HPC Mac OS X имеет двоичные файлы для последней версии GCC (на момент написания этой статьи - 4.8.0 (экспериментальная версия)), а также двоичные файлы g77 и компилятор на основе f2c. Разработчики PETSc рекомендуют этот метод в своих часто задаваемых вопросах .

  • Преимущества : с правильной командой, устанавливает в /usr/local; до настоящего времени. Не забивает существующие системные компиляторы или подход, описанный выше. Не будет мешать обновлению ОС.
  • Недостатки : нужно редактировать PATH. Нет простого способа переключения между версиями. (Вы можете изменить PATH, удалить установку компилятора или обойти его.) Помешает другим методам установки компиляторов, /usr/localпотому что двоичные файлы компилятора просто называются «gcc», «g ++» и т. Д. (Без номера версии и без любые ссылки).

Используйте MacPorts

MacPorts имеет несколько версий компиляторов, доступных для использования.

  • Преимущества : Устанавливается в /opt/local; port selectможет использоваться для переключения между версиями компилятора (включая системные компиляторы). Не будет мешать обновлению ОС.
  • Недостатки : установка портов требует целой «программной экосистемы». Компиляторы не включают символы отладки, которые могут создавать проблемы при использовании отладчика или установке PETSc. ( Шон Фарли предлагает некоторые обходные пути.) Также требует изменения PATH. Может мешать установкам Homebrew и Fink. (Смотрите этот пост на SuperUser .)

Используйте Homebrew

Homebrew также можно использовать для установки компилятора Фортрана.

  • преимущества : Простой в использовании менеджер пакетов; устанавливает тот же компилятор Fortran, что и в разделе «Установка версии, соответствующей системным компиляторам». Устанавливайте только то, что вам нужно (в отличие от MacPorts). Может установить новый стек GCC (4.7.0), используя альтернативный репозиторий homebrew-dupes.
  • Недостатки : наследует все недостатки от «Установка версии, соответствующей системным компиляторам». Может потребоваться следовать парадигме Homebrew при установке другого (не Homebrew) программного обеспечения, /usr/localчтобы избежать путаницы. Может помешать установке MacPorts и Fink. (См. Этот пост на SuperUser .) Необходимо изменить PATH. Установка может зависеть от системных библиотек, это означает, что зависимости для пакетов Homebrew могут нарушаться при обновлении ОС. (См. Эту статью .) Я не ожидал, что при установке gfortran будут зависеть системные библиотеки, но могут быть такие зависимости при установке других пакетов Homebrew.

Используйте Fink

Теоретически вы можете использовать Fink для установки gfortran. Я не использовал это, и я не знаю никого, кто имел (и был готов сказать что-то положительное).

Другие методы

Другие двоичные файлы и ссылки перечислены на вики GFortran . Некоторые ссылки уже перечислены выше. Остальные способы установки могут конфликтовать или не конфликтовать с описанными выше; Используйте на свой риск.


Было время, когда Fink был предпочтительным менеджером пакетов, а не MacPorts. Я прекратил использовать его много лет назад, потому что стек был старым и не обслуживался и не включал в себя многие библиотеки, которые я регулярно использовал. Практически каждый метод дает вам некоторые вещи, которыми управляет менеджер пакетов, и некоторые вещи, которые вы запускаете вручную. Доморощенный лучше с такой системой, но ему нужно гораздо больше библиотек, чтобы действительно конкурировать с MacPorts.
aterrel

1
Вы также можете использовать такие проекты, как Sage (sagemath.org) или Qsnake ( qsnake.com ), которые поставляют свой собственный компилятор Fortran и позволяют работать в «среде», где вы можете просто назвать «gfortran».
Ондржей Чертик

У меня есть fink gfortran на моем 10.5 боксе, но я никогда не подвергал его серьезным испытаниям. Она будет компилировать CERNLIB и GEANT3, но я не запускать какие - либо большие работы под либо в последнее время.
dmckee

Для Homebrew gfortran теперь устанавливается с 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
Дейвом Эвериттом

Ссылка на вики-страницу Шона Фарли больше не работает (в связи с тем, как настроить отладчики для работы с установками MacPorts). Это может быть связано?
TSGM

1

EasyBuild ( http://hpcugent.github.com/easybuild ) позволяет легко создавать и устанавливать собственный набор компиляторов GCC.

По сути, вы даете ему простой файл easyconfig (.eb), в котором указывается, что вы хотите собрать (GCC + версия + набор языков, для которых вы хотите компиляторы для + ...), а затем сборка и установка выполняется одной командой. Я бы сказал, что это немного похоже на Homebrew, но дает вам больше свободы.

Кроме того, EasyBuild поддерживает множество других (научных) программных пакетов, которые могут быть собраны и установлены с помощью одной команды, поэтому стоит посмотреть на них.

Отказ от ответственности: я являюсь частью команды EasyBuild. Сборка GCC (с включенным gfortran) должна работать на OS X, но другие сборки могут быть хлопотными. Мы работаем над этим, дайте нам знать, если у вас возникнут проблемы.


Вы провели тестирование на OS X? Когда вы говорите «должен работать», это из опыта или ожиданий?
Охотник на оленей

@DeerHunter: Исходя из моего опыта, мой персональный ноутбук - это Mac, работающий под управлением OS X. Сборка GCC работает, но, как известно, у EasyBuild есть проблемы с некоторыми другими сборками. Мы надеемся разобраться в этом в ближайшее время.
Кеннет Хост

Upvoting ... Оказывается, использовали EASY_BUILD, чтобы упаковать вкусности Python в RPM ...
Охотник на оленей

@DeerHunter EasyBuild в настоящее время не поддерживает упаковку вещей в RPM. Может быть, вы путаете EasyBuild (который предоставляет команду 'eb') с 'easy_install', инструментом установки Python, предоставляемым setuptools / disitutils?
Кеннет Хост

Вы правы; случайные сбои памяти. В любом случае проверим EasyBuild. Упаковка сделана fpm...
Охотник на оленей

0

Я бы предложил Intel Fortran Composer на MacOS. Это хорошо, актуально и работает. Одна негативная вещь, это не бесплатно. Я думаю, что есть 30 дней бесплатной оценки, хотя.

Под Linux они предлагают бесплатную некоммерческую версию.


Пользователи Linux также могут установить Solaris Studio. Он очень хорошо интегрирован (компиляторы C / C ++ / Fortran). Dbxtool очень полезен, как и анализатор (например, для определения состояния гонки в программах openmp).
Стали
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.