リンク > ITメモ > Mac netCDF

Mac ProへのnetCDFとnetCDF Fortranのインストール

目標:Mac ProへnetCDFとnetCDF Fortranをインストールする

Mac ProへnetCDFをインストールした際のメモ.Macbook Proへのインストールは問題なくできたものの,Mac Proへのインストールの際にはいくつか留意点がある.

コンパイラ設定

export CC=gcc
export FORT=ifort
export FC=ifort
export F77=ifort
export F90=ifort
export F9X=ifort

jpeg-9cのインストール

http://www.ijg.org/からjpegsrc.v9c.tar.gzをダウンロード
tar xvf jpecsrc.v9c.tar.gz ; cd jpeg-9c
./configure --prefix=/opt/local
make ; sudo make install

szip-2.1.1のインストール

https://support.hdfgroup.org/doc_resource/SZIP/からSZIP Source Codeをクリックしダウンロード
tar xvf szip-2.1.1 ; cd szip-2.1.1
./configure --prefix=/opt/local
make ; make check ; sudo make install

zlib-1.2.11のインストール

http://www.zlib.net/のzlib source codeの US (zlib.net)からダウンロード
tar xvf zlib-1.2.11.tar.gz ; cd zlib-1.2.11
./configure --prefix=/opt/local
make ; make check ; sudo make install

hdf5-1.10.1のインストール

ここからが難関.まずHDF5のWEBサイトからDownloadへ行くとDownload pageへ飛ぶが,Please login to download.と表示されダウンロードできない. しかしHDF5のサポートページに飛ぶと,なぜかログインせずにダウンロードが可能.hdf5-1.10.1.tar.gzをダウンロード.
tar xvf hdf5-1.10.1.tar.gz ; cd hdf5-1.10.1
./configure --prefix=/opt/local/hdf5-1.10.1 --enable-fortran --with-szlib=/opt/local
make ; make check ; sudo make install
注意点
  1. configureの--enable以下のオプションが必要な模様
  2. make checkにかなりの時間を要す
  3. インストール後,hdf5のlibとincludeを/opt/localと/usr/localにコピー

.bashrcの設定

以下を追記
export HDF5ROOT=hdf5-1.10.1
export HDF5_LIB=${HDF5ROOT}/lib
export HDF5_INC=${HDF5ROOT}/include
export LD_LIBRARY_PATH=${HDF5_LIB}:${LD_LIBRARY_PATH}

netcdf-4.6.1のインストール

https://www.unidata.ucar.edu/downloads/netcdf/index.jspからnetcdf-4.6.1.tar.gzをダウンロード
tar xvf netcdf-4.6.1.tar.gz ; cd netcdf-4.6.1
sudo mkdir /opt/local/netcdf-4.6.1
export FCFLAGS=-m64 
export FFLAGS=$FCFLAGS
./configure --prefix=/opt/local/netcdf-4.6.1 --with-hdf5=/opt/local/hdf5-1.10.1/ --enable-netcdf4 --enable-shared
make ; make check ; sudo make install
hdf5のディレクトリを指定する点と、netcdf4をenableにする点が重要。

netcdf-fortran-4.4.4のインストール

https://www.unidata.ucar.edu/downloads/netcdf/index.jspからnetcdf-fortran-4.4.4.tar.gzをダウンロード
tar xvf netcdf-fortran-4.4.4.tar.gz ; cd netcdf-fortran-4.4.4
sudo mkdir /opt/local/netcdf-fortran-4.4.4
export LDFLAGS="-lnetcdf -L/opt/local/netcdf-4.6.1/lib -I/opt/local/netcdf-4.6.1/include"
export CPPFLAGS=-I/opt/local/netcdf-4.6.1/include
export FDFLAGS=-L/opt/local/netcdf-4.6.1/lib
./configure --prefix=/opt/local/netcdf-fortran-4.4.4 --with-hdf5=/opt/local/hdf5-1.10.1 --enable-shared FC=ifort
make ; make check ; sudo make install

.bashrcの設定

以下を追記.
export NETCDF=/opt/local/netcdf-4.6.1
export NETCDF_F_ROOT=/opt/local/netcdf-fortran-4.4.4
export NCHOME=$NETCDF
export NETCDFHOME=$NETCDF
export NETCDFROOT=$NETCDF
export PATH=$NETCDF/bin:$PATH
export LD_LIBRARY_PATH=${NETCDF}/lib:${LD_LIBRARY_PATH}

出くわしたエラー

ld: symbol(s) not found for architecture x86_64
いくつか原因が考えられるが,今回に関してはパスが通っていないか,関連するライブラリが現在と異なるコンパイラでmakeされてしまっていることが原因という可能性が高い.
error #7002: Error in opening the compiled module file. Check INCLUDE paths. [NETCDF]
せっかくnetCDF Fortranをインストールしても,/opt/local/includeにリンクを貼るだけでは.modファイルが読み込まれないため,コピーする.

参考URL