Como devo instalar um compilador Fortran em um Mac? (OS X 10.x, x> = 4)

25

Pergunta relacionada: Estado do Mac OS em Computação Científica e HPC

Um número significativo de pacotes de software em ciência da computação são escritos no Fortran, e o Fortran não está indo embora. Um compilador Fortran também é necessário para criar outros pacotes de software (um exemplo notável é o SciPy ).

No entanto, o Mac OS X não inclui um compilador Fortran. Como devo instalar um compilador Fortran na minha máquina?

Geoff Oxberry
fonte
1
Não é apenas Fortran. Os Macs simplesmente não têm repositórios suportados de alta qualidade, como o Debian, onde tudo simplesmente funciona. Instalar praticamente qualquer coisa complicada em um Mac é uma dor.
stali

Respostas:

32

Escolha o seu veneno. Eu recomendo usar o Homebrew. Eu tentei todos esses métodos, exceto "Fink" e "Outros métodos". Originalmente, eu preferia o MacPorts quando escrevi esta resposta. Nos dois anos seguintes, o Homebrew cresceu muito como um projeto e provou ser mais sustentável do que o MacPorts, o que pode exigir muitos PATHhackers.

Instalando uma versão que corresponde aos compiladores do sistema

Se você deseja que a versão do gfortran corresponda às versões do gcc, g ++, etc. instaladas na sua máquina, faça o download da versão apropriada do gfortran aqui . Os desenvolvedores R e SciPy recomendam esse método.

  • Vantagens : Corresponde às versões dos compiladores instalados com o XCode ou com o instalador de Kenneth Reitz ; improvável que interfira nas atualizações do sistema operacional; coexiste bem com o MacPorts (e provavelmente o Fink e o Homebrew) porque é instalado /usr/bin. Não derruba os compiladores existentes. Não precisa editar PATH.
  • Desvantagens : A pilha do compilador será muito antiga. (GCC 4.2.1 é a mais recente compilador da Apple, que foi lançado em 2007.) instala a /usr/bin.

Instalando um binário pré-compilado e atualizado a partir do HPC Mac OS X

O HPC Mac OS X possui binários para a versão mais recente do GCC (no momento da redação deste documento, 4.8.0 (experimental)), assim como os binários g77 e um compilador baseado em f2c. Os desenvolvedores do PETSc recomendam esse método nas perguntas frequentes .

  • Vantagens : Com o comando certo, instala-se /usr/local; atualizado. Não descarta os compiladores de sistema existentes ou a abordagem acima. Não interferirá nas atualizações do sistema operacional.
  • Desvantagens : Precisa editar PATH. Não é uma maneira fácil de alternar entre versões. (Você pode modificar o PATH, excluir a instalação do compilador ou fazer um kludge em torno dele.) Irá ignorar outros métodos de instalação de compiladores, /usr/localporque os binários do compilador são simplesmente denominados 'gcc', 'g ++', etc. (sem um número de versão e sem quaisquer links simbólicos).

Use MacPorts

O MacPorts possui várias versões de compiladores disponíveis para uso.

  • Vantagens : Instala em /opt/local; port selectpode ser usado para alternar entre versões do compilador (incluindo compiladores do sistema). Não interferirá nas atualizações do sistema operacional.
  • Desvantagens : A instalação de portas tende a exigir um "ecossistema de software" inteiro. Os compiladores não incluem símbolos de depuração, o que pode representar um problema ao usar um depurador ou instalar o PETSc. ( Sean Farley propõe algumas soluções alternativas.) Também requer alterações PATH. Pode interferir nas instalações do Homebrew e Fink. (Veja esta postagem no SuperUser .)

Use Homebrew

O Homebrew também pode ser usado para instalar um compilador Fortran.

  • Vantagens : Fácil de usar gerenciador de pacotes; instala o mesmo compilador Fortran que em "Instalando uma versão que corresponda aos compiladores do sistema". Instale apenas o que você precisa (em contraste com o MacPorts). Pode instalar uma pilha mais recente do GCC (4.7.0) usando o homebrew-dupes do repositório alternativo.
  • Desvantagens : herda todas as desvantagens de "Instalando uma versão que corresponde aos compiladores do sistema". Pode ser necessário seguir o paradigma do Homebrew ao instalar outro software (que não seja do Homebrew) /usr/localpara evitar confusão. Pode interferir nas instalações do MacPorts e do Fink. (Veja esta postagem no SuperUser .) Precisa mudar PATH. As instalações podem depender das bibliotecas do sistema, o que significa que as dependências dos pacotes Homebrew podem ser interrompidas em uma atualização do sistema operacional. (Consulte este artigo .) Eu não esperaria que houvesse dependências da biblioteca do sistema ao instalar o gfortran, mas poderia haver tais dependências ao instalar outros pacotes do Homebrew.

Use o Fink

Em teoria, você pode usar o Fink para instalar o gfortran. Eu não o usei e não conheço ninguém que tenha (e estava disposto a dizer algo positivo).

Outros métodos

Outros binários e links estão listados no wiki do GFortran . Alguns dos links já estão listados acima. Os métodos de instalação restantes podem ou não conflitar com os descritos acima; Use por sua conta e risco.

Geoff Oxberry
fonte
Houve um tempo em que o Fink era o gerenciador de pacotes preferido sobre o MacPorts. Parei de usá-lo anos atrás porque a pilha era antiga e não era mantida e não incluía muitas das bibliotecas que eu usava regularmente. Em quase todos os métodos aqui, você acaba com algumas coisas gerenciadas pelo gerenciador de pacotes e outras que você rola manualmente. O Homebrew é melhor com esse sistema, mas precisa de muito mais bibliotecas para ser realmente competitivo com o MacPorts.
aterrel
1
Você também pode usar projetos como Sage (sagemath.org) ou Qsnake ( qsnake.com ), que enviam seu próprio compilador Fortran e permitem que você trabalhe em "ambiente", onde você pode simplesmente chamar "gfortran".
Ondřej Čertík
Eu tenho o gfortran do fink na minha caixa de 10,5, mas nunca o testei realmente. Ele irá compilar cernlib e GEANT3, mas eu não executar qualquer grandes trabalhos sob qualquer recentemente.
dmckee
Para Homebrew, o gfortran agora está instalado com 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
O link para a página Wiki de Sean Farley não está mais funcionando (em referência a como fazer com que os depuradores funcionem com as instalações do MacPorts). Isso pode ser vinculado novamente?
TSGM 04/02
1

O EasyBuild ( http://hpcugent.github.com/easybuild ) permite criar e instalar facilmente seu próprio conjunto de compiladores GCC.

Basicamente, você fornece um arquivo easyconfig simples (.eb) que especifica o que você deseja criar (GCC + versão + conjunto de idiomas que você deseja compiladores para + ...) e, em seguida, criar e instalar é um único comando. Eu diria que é um pouco como o Homebrew, mas oferece mais liberdade.

Além disso, o EasyBuild suporta muitos outros pacotes de software (científicos) que podem ser criados e instalados com um único comando, por isso vale a pena examinar.

Isenção de responsabilidade: faço parte da equipe EasyBuild. A criação do GCC (com o gfortran incluído) deve funcionar no OS X, mas outras versões podem ser problemáticas. Estamos trabalhando nisso, avise-nos se você tiver problemas.

Kenneth Hoste
fonte
Você já testou no OS X? Quando você diz "deve funcionar", é por experiência ou expectativas?
Deer Hunter
@DeerHunter: Por experiência, meu laptop pessoal é um Mac, executando o OS X. O Building GCC funciona, mas o EasyBuild é conhecido por ter problemas com outras versões. Esperamos analisar isso em breve.
precisa saber é o seguinte
Voto positivo ... Acontece que estamos usando o EASY_BUILD para empacotar itens python em RPMs ...
Deer Hunter
O @DeerHunter EasyBuild atualmente não tem suporte para empacotar material em RPMs. Talvez você esteja confundindo o EasyBuild (que fornece o comando 'eb'), com 'easy_install', a ferramenta de instalação do Python fornecida pelo setuptools / disitutils?
precisa saber é o seguinte
Você está certo; falhas aleatórias de memória. Irá verificar EasyBuild, de qualquer maneira. O empacotamento é feito por fpm...
Deer Hunter
0

Eu sugeriria o Intel Fortran Composer no MacOS. É bom, atualizado e funciona. Uma coisa negativa, não é grátis. Eu acho que há uma avaliação gratuita de 30 dias.

No Linux, eles oferecem uma versão gratuita e não comercial.

electrique
fonte
Os usuários do Linux também podem instalar o Solaris Studio. É muito bem integrado (compiladores C / C ++ / Fortran). O Dbxtool é muito útil, assim como o analisador (por exemplo, para detectar condições de corrida em programas openmp).
stali