Takuya Miyashita
This site
Web
Start:
*NetCDFのインストール [#l1e09ee5]
#contents
**注意点 [#xa09b246]
個人で使う PC なら通常 /usr/local/ や の中にインストール...
このため,環境変数が root でも適切に設定されているかを事...
特に .bashrc でパスの追加をしている場合は,root の .bashr...
インストール前に root で ifort が実行できるか(パスが通っ...
~
また,依存関係エラーの可能性を高めるので,バージョン更新...
NetCDF4 のライブラリを使用するソフトウェア(例えば GMT )...
~
**NetCDF4 [#f4f19494]
***環境変数 [#j996e58a]
インストールを行う前に,環境に合わせてコンパイラを指定す...
GNU (gfortran, gcc)を使うのであれば,
#codeprettify{{
export FC=gfortran
export CC=gcc
}}
PGI なら
#codeprettify{{
export FC=pgf90
export CC=pgcc
}}
Intel なら
#codeprettify{{
export FC=ifort
export CC=icc # icc で実行可能かは未確認
}}
~
NetCDF4 のインストールには,事前に[[HDF5のインストール>.....
パスが設定されていないと configure の時点で失敗するので,...
HDF5が/usr/local/hdf5 にあるとして,(ユーザーはrootで)
#codeprettify{{
export CPATH=$CPATH:/usr/local/hdf5/include
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/hdf5/lib
}}
~
~
***NetCDF-C [#n84b61cf]
[[NetCDF Downloads>https://www.unidata.ucar.edu/downloads...
#codeprettify{{
tar -zxf netcdf-c-4.6.0
cd netcdf-c-4.6.0
}}
または,GitHub からリポジトリをクローンする.今後バージョ...
#codeprettify{{
git clone https://github.com/Unidata/netcdf-c
cd netcdf-c
git checkout v4.6.0
}}
更新の時は
#codeprettify{{
git checkout v4.6.1
}}
その後,環境変数の関係で root にログインしてからやる.~
szip や hdf5 の include path 指定は各自の環境に合わせる.~
#codeprettify{{
export NCDIR=/usr/local/netcdf-c-4.6.1
export CPPFLAGS="-I/usr/local/szip/include -I/usr/local/h...
export LDFLAGS="-L/usr/local/szip/lib -L/usr/local/hdf5-1...
}}
curl.h のある場所を探して,--with-curl=/path/curl のよう...
もともと curl.h の場所に include のパスが通っていれば特に...
#codeprettify{{
./configure --prefix=${NCDIR} --enable-netcdf-4 --enable-...
--with-curl=/usr/include/x86_64-linux...
}}
成功したらコンパイル.
#codeprettify{{
make
make check
sudo make install
}}
~
~
-エラーその1~
laptop では build(make) の際にエラーになった.エラー内容...
undefined reference to `curl_easy_init'
undefined reference to `curl_easy_setup'
curl のライブラリをうまくリンクできていないようだったので,
#codeprettify{{
locate libcurl
}}
で libcurl の場所を確認して,LDFLAGS につけ足した.~
~
-エラーその2~
また別の時に再インストールしようとすると,
/usr/bin/ld: indent.o: relocation R_X86_64_32S against `...
/usr/bin/ld: final link failed: Nonrepresentable section...
というエラーが出たので,一度 clean をしてから
#codeprettify{{
export CFLAGS=-fPIC
}}
を新たに定義して上記の操作をやり直したら成功.~
~
-参考1 [[Getting and Building netCDF>https://www.unidata....
-参考2 [[Running the configure Script>https://www.unidata...
~
~
~
***NetCDF-Fortran [#h1e5540b]
ここでは,NetCDF-Fortranも NetCDF-C と同じディレクトリに...
どちらもバージョンを更新せず,もしするなら新たな場所にど...
~
まず,NetCDF4-C のインストールで得た nc-config というコマ...
#codeprettify{{
cd /usr/local/bin
ln -s ../netcdf-c-4.6.1/bin/nc-config nc-config # シンボ...
nc-config --prefix # 確認 実行できなかったら正しくパスが...
}}
次に,NetCDF4-C と同様に [[NetCDF Downloads>https://www.u...
#codeprettify{{
git clone https://github.com/Unidata/netcdf-fortran
cd netcdf-fortran
git checkout v4.4.4
}}
コンパイルの前に環境変数を設定しておく.
#codeprettify{{
su
export CC=gcc
export FC=ifort
}}
#codeprettify{{
export NCDIR=$(nc-config --prefix)
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$(nc-config --l...
# or LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NCDIR}/lib
}}
既にインストールされているNetCDF-Cのライブラリのパスやpre...
#codeprettify{{
export CPPFLAGS=-I${NCDIR}/include # or $(nc-config --inc...
export LDFLAGS=-L${NCDIR}/lib # or $(nc-config --libs)
export NFDIR=${NCDIR}
./configure --prefix=${NFDIR} --disable-fortran-type-check
make check
make install
}}
インストール後は bin に nf-config を入れておく.
#codeprettify{{
cd /usr/local/bin
sudo ln -s ../netcdf4-c-4.6.1/bin/nf-config nf-config
}}
~
.bashrc では下記のように書いておく.~
#codeprettify{{
# NetCDF 4
export NETCDF_CONFIG=$(nc-config)
export NETCDF_ROOT="$(${NETCDF_CONFIG} --prefix)"
export NETCDF_F_CONFIG=$(nf-config)
export NETCDF_F_ROOT="$(${NETCDF_F_CONFIG} --prefix)"
export LD_LIBRARY_PATH="${NETCDF_ROOT}/lib":${LD_LIBRARY_...
}}
~
~
-エラーその1 (netcdf-fortran-4.4.5)~
netcdf-fortran-4.4.5 をコンパイルする時のエラー.
nf_test/ftst_rengrps.F 内で
#codeprettify(lang-fortran){{
implicit none
include "netcdf.inc"
}}
と 1-column ずれており,旧形式の FORTRAN では 7-column 目...
1つスペースを入れる修正が必要.~
修正してPR送ろうと思ったら既に[[issue#192>https://github....
~
-注意点~
既に conda が入っていてその中の nc-config にパスが通って...
最初に which nc-config で確認した方が良い.~
~
~
**NetCDF3.6.3 [#aed9f6a9]
&color(red){使われなくなってきたのでもう基本的にインスト...
netcdf-3.6.3.tar.gz をどこかで解凍し,解凍された netcdf-3...
#codeprettify{{
tar -zxf netcdf-3.6.3.tar.gz
cd netcdf-3.6.3
}}
その次に,prefix で保存する場所を指定しつつ,configure を...
どのコンパイラでinstallしたかわかるようにしておくと混同し...
#codeprettify{{
./configure --prefix=/usr/local/netcdf-3.6.3_gnu
}}
ディレクトリはそのままで,
#codeprettify{{
make
sudo make install
}}
をして,インストール完了.~
~
~
End:
*NetCDFのインストール [#l1e09ee5]
#contents
**注意点 [#xa09b246]
個人で使う PC なら通常 /usr/local/ や の中にインストール...
このため,環境変数が root でも適切に設定されているかを事...
特に .bashrc でパスの追加をしている場合は,root の .bashr...
インストール前に root で ifort が実行できるか(パスが通っ...
~
また,依存関係エラーの可能性を高めるので,バージョン更新...
NetCDF4 のライブラリを使用するソフトウェア(例えば GMT )...
~
**NetCDF4 [#f4f19494]
***環境変数 [#j996e58a]
インストールを行う前に,環境に合わせてコンパイラを指定す...
GNU (gfortran, gcc)を使うのであれば,
#codeprettify{{
export FC=gfortran
export CC=gcc
}}
PGI なら
#codeprettify{{
export FC=pgf90
export CC=pgcc
}}
Intel なら
#codeprettify{{
export FC=ifort
export CC=icc # icc で実行可能かは未確認
}}
~
NetCDF4 のインストールには,事前に[[HDF5のインストール>.....
パスが設定されていないと configure の時点で失敗するので,...
HDF5が/usr/local/hdf5 にあるとして,(ユーザーはrootで)
#codeprettify{{
export CPATH=$CPATH:/usr/local/hdf5/include
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/hdf5/lib
}}
~
~
***NetCDF-C [#n84b61cf]
[[NetCDF Downloads>https://www.unidata.ucar.edu/downloads...
#codeprettify{{
tar -zxf netcdf-c-4.6.0
cd netcdf-c-4.6.0
}}
または,GitHub からリポジトリをクローンする.今後バージョ...
#codeprettify{{
git clone https://github.com/Unidata/netcdf-c
cd netcdf-c
git checkout v4.6.0
}}
更新の時は
#codeprettify{{
git checkout v4.6.1
}}
その後,環境変数の関係で root にログインしてからやる.~
szip や hdf5 の include path 指定は各自の環境に合わせる.~
#codeprettify{{
export NCDIR=/usr/local/netcdf-c-4.6.1
export CPPFLAGS="-I/usr/local/szip/include -I/usr/local/h...
export LDFLAGS="-L/usr/local/szip/lib -L/usr/local/hdf5-1...
}}
curl.h のある場所を探して,--with-curl=/path/curl のよう...
もともと curl.h の場所に include のパスが通っていれば特に...
#codeprettify{{
./configure --prefix=${NCDIR} --enable-netcdf-4 --enable-...
--with-curl=/usr/include/x86_64-linux...
}}
成功したらコンパイル.
#codeprettify{{
make
make check
sudo make install
}}
~
~
-エラーその1~
laptop では build(make) の際にエラーになった.エラー内容...
undefined reference to `curl_easy_init'
undefined reference to `curl_easy_setup'
curl のライブラリをうまくリンクできていないようだったので,
#codeprettify{{
locate libcurl
}}
で libcurl の場所を確認して,LDFLAGS につけ足した.~
~
-エラーその2~
また別の時に再インストールしようとすると,
/usr/bin/ld: indent.o: relocation R_X86_64_32S against `...
/usr/bin/ld: final link failed: Nonrepresentable section...
というエラーが出たので,一度 clean をしてから
#codeprettify{{
export CFLAGS=-fPIC
}}
を新たに定義して上記の操作をやり直したら成功.~
~
-参考1 [[Getting and Building netCDF>https://www.unidata....
-参考2 [[Running the configure Script>https://www.unidata...
~
~
~
***NetCDF-Fortran [#h1e5540b]
ここでは,NetCDF-Fortranも NetCDF-C と同じディレクトリに...
どちらもバージョンを更新せず,もしするなら新たな場所にど...
~
まず,NetCDF4-C のインストールで得た nc-config というコマ...
#codeprettify{{
cd /usr/local/bin
ln -s ../netcdf-c-4.6.1/bin/nc-config nc-config # シンボ...
nc-config --prefix # 確認 実行できなかったら正しくパスが...
}}
次に,NetCDF4-C と同様に [[NetCDF Downloads>https://www.u...
#codeprettify{{
git clone https://github.com/Unidata/netcdf-fortran
cd netcdf-fortran
git checkout v4.4.4
}}
コンパイルの前に環境変数を設定しておく.
#codeprettify{{
su
export CC=gcc
export FC=ifort
}}
#codeprettify{{
export NCDIR=$(nc-config --prefix)
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$(nc-config --l...
# or LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NCDIR}/lib
}}
既にインストールされているNetCDF-Cのライブラリのパスやpre...
#codeprettify{{
export CPPFLAGS=-I${NCDIR}/include # or $(nc-config --inc...
export LDFLAGS=-L${NCDIR}/lib # or $(nc-config --libs)
export NFDIR=${NCDIR}
./configure --prefix=${NFDIR} --disable-fortran-type-check
make check
make install
}}
インストール後は bin に nf-config を入れておく.
#codeprettify{{
cd /usr/local/bin
sudo ln -s ../netcdf4-c-4.6.1/bin/nf-config nf-config
}}
~
.bashrc では下記のように書いておく.~
#codeprettify{{
# NetCDF 4
export NETCDF_CONFIG=$(nc-config)
export NETCDF_ROOT="$(${NETCDF_CONFIG} --prefix)"
export NETCDF_F_CONFIG=$(nf-config)
export NETCDF_F_ROOT="$(${NETCDF_F_CONFIG} --prefix)"
export LD_LIBRARY_PATH="${NETCDF_ROOT}/lib":${LD_LIBRARY_...
}}
~
~
-エラーその1 (netcdf-fortran-4.4.5)~
netcdf-fortran-4.4.5 をコンパイルする時のエラー.
nf_test/ftst_rengrps.F 内で
#codeprettify(lang-fortran){{
implicit none
include "netcdf.inc"
}}
と 1-column ずれており,旧形式の FORTRAN では 7-column 目...
1つスペースを入れる修正が必要.~
修正してPR送ろうと思ったら既に[[issue#192>https://github....
~
-注意点~
既に conda が入っていてその中の nc-config にパスが通って...
最初に which nc-config で確認した方が良い.~
~
~
**NetCDF3.6.3 [#aed9f6a9]
&color(red){使われなくなってきたのでもう基本的にインスト...
netcdf-3.6.3.tar.gz をどこかで解凍し,解凍された netcdf-3...
#codeprettify{{
tar -zxf netcdf-3.6.3.tar.gz
cd netcdf-3.6.3
}}
その次に,prefix で保存する場所を指定しつつ,configure を...
どのコンパイラでinstallしたかわかるようにしておくと混同し...
#codeprettify{{
./configure --prefix=/usr/local/netcdf-3.6.3_gnu
}}
ディレクトリはそのままで,
#codeprettify{{
make
sudo make install
}}
をして,インストール完了.~
~
~
Page:
Edit with a page name which already exists