Instalação simplificada de softwares de programação científica em um computador Mac

1. Introdução

Como um pesquisador que trabalha com modelos computacionais, eu levei um longo tempo para me adaptar à troca de um computador Linux por um Mac. Essa demora normalmente aconteceu porque toda a informação que eu precisava estava espalhada em discussões de fóruns de internet e documentos técnicos. Sendo assim, eu decidi escrever esse guia a partir de uma coleção de notas que eu usei para configurar o meu Mac ao longo de alguns meses, e que eu espero que possam poupar alguém de passar pelo mesmo trabalho. A intenção do texto a seguir é fornecer informações diretas para ajudar donos de computador Mac a preparar seus sistemas pra trabalhar com programação científica (que normalmente depende de compiladores Fortran e C). As notas foram testadas e funcionam nas seguintes versões do macOS: High Sierra (10.13), Mojave (10.14) e Catalina (10.15).

2. Xcode

Em primeiro lugar, você precisará instalar as ferramentas Xcode and command line tools mais recentes. Esses aplicativos, distribuídas pela própria Apple, instalarão as ferramentas fundamentais para desenvolvimento de software: o Xcode instala os compiladores C da Apple e as command line tools instalam automake, autoreconf, bibliotecas básicas e etc. A maneira mais fácil de obter o Xcode é através da App Store do seu Mac. Basta procurar por Xcode e instalar a primeira ocorrência retornada.

Nota: O Xcode é um download gigante (na versão atual, 11.3, aproximadamente 8 Gb). Baixá-lo provavelmente vai demorar um pouco, portanto eu recomendo que durante o download você saia para tomar algumas cervejas ou continue usando o computador para alguma outra tarefa que não dependa de conexão com a internet.

Depois que o Xcode for baixado e instalado, instale as command line tools digitando o seguinte comando no seu terminal:

xcode-select --install

Esse comando vai baixar (aproximadamente 150 Mb) e instalar todas as ferramentas básicas de desenvolvimento que nós precisamos.

3. Servidor X11

O caminho mais rápido aqui é instalar o XQuartz mais recente disponível em http://www.xquartz.org. A instalação do XQuartz é uma exigência para o passo seguinte.

4. MacPorts

Agora vamos instalar o MacPorts, que é um dos gerenciadores de pacotes para o macOS. Caso você esteja familiarizado com unix, uma boa analogia é que o MacPorts é parecido com o aptitude do Ubuntu ou com o zypper do Suse. O instalador do MacPorts está disponível em http://www.macports.org/install.php. Depois que você instalar o MacPorts, vá ao terminal e atualize a lista de pacotes dele:

sudo port selfupdate

Os pacotes fundamentais que nós precisamos instalar são os compiladores gratuitos gcc e gfortran. Virtualmente todos os programas científicos que nós vamos instalar de agora em diante dependem desses compiladores. Primeiro, vamos conferir quais versões do gcc estão disponíveis nos repositórios do MacPorts:

port list | grep gcc

Até o momento de publicação desse texto, as versões disponíveis nos repositórios do MacPorts vão do gcc43 ao gcc9. Como sempre gosto de usar as versões mais atualizadas dos programas, vamos escolher o GCC 9. Você pode instalar tanto o gcc quanto o gfortran digitando:

sudo port install gcc9

O processo de instalação vai demorar alguns minutos, e não se esqueça que o gfortran acompanha a instalação do gcc, portanto você não precisa de um comando exclusivo para instalar o gfortran.

Nota: por padrão, o MacPorts vai instalar os executáveis dos compiladores fortran and C no diretório /opt/local/bin. Para definir esse compiladores como os padrões no seu sistema, apenas digite:

sudo port select --set gcc mp-gcc9

De agora em diante, tudo o que você precisa fazer é seguir adiante e instalar seus programas e bibliotecas favoritos. Já que eu trabalho com dados climáticas na minha pesquisa, a primeira biblioteca que eu normalmente instalo é o NetCDF:

sudo port install netcdf +gcc9 +dap +netcdf4 +hdf4
sudo port install netcdf-fortran +gcc9

Repare que o sinal de mais (“+”) indica uma variante do pacote do MacPorts. Para ver todas as variantes disponíveis para um determinando pacote, digite port variants <package_name>. Por exemplo:

port variants netcdf

No exemplo acima, as variantes +gcc9 +dap +netcdf4 +hdf4 indicam que eu quero que as minhas bibiotecas NetCDF sejam compiladas com o gcc9 (que nós já instalamos). O comando mostrado no exemplo também instrue o MacPorts a adicionar as funcionalidades extra DAP, NetCDF version 4 e HDF4 às bibliotecas NetCDF.

Além do NetCDF, eu vou instalar o CDO, o NCO e o GDAL, que também são ferramentas muito úteis para trabalhar com dados climáticos e/ou espaciais (geo-referenciados).

# CDO
sudo port install cdo +gcc9 +szip +grib_api
# NCO
sudo port install nco
# GDAL
gdal +gcc9 +netcdf +geos +grib +hdf4 +hdf5 +curl +jasper +openjpeg

Outro programa muito útil é o Ncview, um excelente visualizador de arquivos NetCDF que também pode ser instalado usando o MacPorts:

# Ncview
sudo port install ncview

5. Comentários finais

Eu espero que essas notas sejam úteis para mais alguém. Caso você tenha qualquer dúvida ou comentário, não hesite em entrar em contato.

Saudações, Thiago.