netcdf 4騒動

有志でパッケージ管理をしていると, maintainerの中には連絡が取れなくなる人もいる. netcdfはいつの間にかnomaintainerとなっていた. そのまま放置されていただけならまだましだったのだが, どなたたかがnetcdf 4にアップグレードしてくれていた. netcdfに依存するライブラリが軒並みコンパイルできなくなって, 大迷惑だった. とりあえずnetcdf4の機能を分離してdefault variantsに指定, -netcdf4でオフにできるようにした.

netcdf 4は上位互換であるが, HDF5と統合されたので,リンクのときにHDF5のライブラリも指定する必要がある. 必要なライブラリは, pkg-configを使って,

$ nc-config --libs

などととして取得する.

cdo, ncoはnetcdf4に対応していたので, 依存するライブラリの指定やconfigure.argsの変更で済んだ. ただし, ncoはHAVE_NETCDF4_Hがconfig.hに書き込まれないので,陽に指定する必要があった. wgrib2, gnudatalanguage, vis5d+は-lnetcdf以外のリンクするライブラリを指定する必要があった. gmtとgradsは, netcdf3を復活させて, そちらにリンクするようにした. netcdf3は${prefix}/local/lib/netcdf3に「隠して」ある.

grads2はnetcdf4に対応しているはずだが, configureがnetcdf4を検知する部分をスキップしてしまう. Google EarthのKMLファイルが作れるので, 早く提供したいのだがまだ作業が必要なようだ.

netcdfでないけど, ついでに. gnudatalanguageは, aclocal.m4をconfigureの前に再作成して, use_autoconf yesとして, configureを作り直す必要があった. HDF5の古いAPIを使うために, -DH5_USE_16_APIをconfigure.cxxflagsに追加.

コメント

このブログの人気の投稿

静的サイト生成ツールの導入

uptex

TeXのソースを分割してTeXShopでタイプセット