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
注意点
- configureの--enable以下のオプションが必要な模様
- make checkにかなりの時間を要す
- インストール後,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