WSL の Ubuntu 18.04 において NetCDF-Fortran を Intel コンパイラでビルド
環境の準備
Windows 10 Pro の WSL に Ubuntu 18.04LTSをインストールし,Intel Parallel Studio XE 2020 Composer Edition をインストールした状態を想定します.FVCOM等の数値モデルで必要となる,NetCDF-Fortran をビルドします.こちらの記事を参考にさせて頂き,NetCDF-Fortran 以外は apt でお手軽にインストールします(GNUでコンパイル済み).
aptでライブラリをインストール
以下の手順で HDF5 (こちらを参考にしました)と GNU版の NetCDF-4 (以下のlibnetcdf-dev) と NetCDF-Fortran(以下の libnetcdff-dev) (こちらを参考にしました)をインストールします.libnetcdff-dev をインストールすると,Intel版のビルドに失敗しました.
$ sudo apt update
$ sudo apt install hdf5-tools hdf5-helpers libhdf5-dev libhdf5-doc libhdf5-serial-dev
$ sudo apt install libnetcdf-dev
正常にインストールできたか確認します.
$ nc-config --all
This netCDF 4.6.0 has been built with the following features:
...
バージョンは2020年5月26日時点のものですが,このような感じになれば成功です.
NetCDF-Fortran を Intel コンパイラでビルド
NetCDF-Fortranのソースコードをこちらからダウンロードします.2020年5月26日現在は,netcdf-fortran-4.5.2.tar.gz です.Windowsのデフォルトでは /mnt/c/Users/username/Downloads/ にダウンロードされます.usernameは自身のものに読み替えます.
$ cd /mnt/c/Users/username/Downloads/
$ tar xf netcdf-fortran-4.5.2.tar.gz
$ cd netcdf-fortran-4.5.2/
エディタで以下の内容のテキストファイル config-intel.sh を同じディレクトリに作成します.最下行のバージョンはダウンロードしたソースコードに合わせます.
export CDFROOT="/usr"
export LD_LIBRARY_PATH="${CDFROOT}/lib:${LD_LIBRARY_PATH}"
export LDFLAGS="-L${CDFROOT}/lib -I${CDFROOT}/include":
export OPTIM="-O3 -mcmodel=large -fPIC ${LDFLAGS}"
#
export CC=icc
export CXX=icpc
export FC=ifort
export F77=ifort
export F90=ifort
export CPP='icc -E -mcmodel=large'
export CXXCPP='icpc -E -mcmodel=large'
export CPPFLAGS="-DNDEBUG -DpgiFortran ${LDFLAGS}"
#
export CFLAGS=" ${OPTIM}"
export CXXFLAGS=" ${OPTIM}"
export FCFLAGS=" ${OPTIM}"
export F77FLAGS=" ${OPTIM}"
export F90FLAGS=" ${OPTIM}"
#
./configure --prefix=/usr/local/netcdf-ifort/4.5.2 --enable-large-file-tests --with-pic
config-intel.sh を実行形式とし,以下のように実行します.
$ chmod a+x config-intel.sh
$ ./config-intel.sh
$ make
$ make check
$ sudo make install
~/.bashrc に以下のように PATH と LD_LIBRARY_PATH を加えます.
export PATH="/usr/local/netcdf-ifort/4.5.2/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/netcdf-ifort/4.5.2/lib:$LD_LIBRARY_PATH"
正常にインストールできたか確認します.以下のようになれば成功です.
$ nf-config --all
This netCDF-Fortran 4.5.2 has been built with the following features:
--cc -> icc
--cflags -> -I/usr/local/netcdf-ifort/4.5.2/include -DNDEBUG -DpgiFortran -L/usr/lib -I/usr/include
--fc -> ifort
--fflags -> -I/usr/local/netcdf-ifort/4.5.2/include
--flibs -> -L/usr/local/netcdf-ifort/4.5.2/lib -lnetcdff -L/usr/lib -I/usr/include -lnetcdf -lnetcdf -lm
--has-f90 ->
--has-f03 -> yes
--has-nc2 -> yes
--has-nc4 -> yes
--prefix -> /usr/local/netcdf-ifort/4.5.2
--includedir-> /usr/local/netcdf-ifort/4.5.2/include
--version -> netCDF-Fortran 4.5.2
“WSL の Ubuntu 18.04 において NetCDF-Fortran を Intel コンパイラでビルド” に対して1件のコメントがあります。