HDF5のインストール

各種インストールに際して

sudo make install

などと表記しているが,パス(prefix の指定場所)やユーザー(root)によっては sudo が不要なので,都合に応じて変更することに注意されたい.

zlib,szipのインストール

zlib のページのリンクから,それぞれ zlib のソースをダウンロードできる.
ダウンロード後は解凍してインストールを実行する.
tar.gz 形式をダウンロードしたとすれば,

tar -zxf zlib-1.2.11.tar.gz
cd -zxf zlib-1.2.11
./configure --prefix=/usr/local
make
sudo make install

szip についても同様に行う.ソースは SZIP Compression in HDF Products の "SZIP Source Code" から.

tar -zxf szip-2.1.1.tar.gz 
cd szip-2.1.1/
./configure --prefix=/usr/local
make && sudo make install # &&で繋いでも良い


HDF5のインストール

The HDF5 Group のページから,HDF5 のソースをダウンロードできる.
追記:管理されているウェブサイトが変更になった.ソースは HDF SUPPORT PORTAL の Downloads から.
configure をする前に,pthread.h, libthread.a, libthread.so があるか確認する.

locate pthread.h
 /usr/include/pthread.h
locate libpthread.a
 /usr/lib/x86_64-linux-gnu/
locate libpthread.so
 /usr/lib/x86_64-linux-gnu/

いつも通りの解凍後,上記のパスを確認し,configure で指定する.下記の通り長い.

tar -zxf hdf5-1.10.4
cd hdf5-1.10.4
./configure --enable-fortran  --with-szlib=/usr/local  \
            --enable-threadsafe  --with-pthread=/usr/include/,/usr/lib/x86_64-linux-gnu  \
            --enable-hl --enable-shared --enable-unsupported \
            --prefix=/usr/local/hdf5-1.10.4  # option, prefix は個々の環境と用途による

バージョンごとに分ける必要性を感じなければ,hdf5 の prefix も /usr/local/hdf5 などで良いかも.
他にも --enable-cxx オプションを追加したかったが,今の所自分に C++ は必須でなく,Ubuntu で最新のパッケージに対応した環境構築が面倒くさそうだったので諦めた.
C++を入れる場合は CXXFLAGS="-I/usr/foo/bar" などを駆使する.
configure を実行したら,make と make install で完了.コンパイル中 warning がたくさん出たけど無視した.

make
make check # 結構長い時間がかかる
sudo make install

FC が ifort の場合は root にも ifort のパスが通っているかを確認する.

バージョンごとに区別をつけるなら,インストール後にシンボリックリンクを貼っておく.

cd /usr/local
sudo ln -s hdf5-1.10.4 hdf5

エラー,ハマったこと

ifort 18.0.1 と,HDF-1.10.1 では,make のコンパイル中にエラーが発生した.内容はここに書いてあることとほぼ同じだった.エラーメッセージは

Multiple objects from the same EQUIVALENCE set may not appear in a COMMON block.

common ブロックと equivalence の問題らしい.
わからないままだったので,バージョンを下げて HDF5-1.8.20 でコンパイルすることにした.問題なくインストールできた.

sudo make か root で make をする時は,ifort が root のパスにも入っているかを確認する.


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2019-08-16 (Fri) 07:48:58 (35d)