cernlibのメモ(thx to 小林さん)
ソースの一部書き換えることによりうまくいくようになったので、
それをこんな感じのシェルスクリプト
(make_cernlib.sh)
にまとめておく。
これを走らせればダウンロードからコンパイルまで勝手にやってくれるはず。
pawとかはlapackとか必要なので略。
以下ログ
binaryをとってくればそれでいいんだけど、コンパイルしようとがんばった
ので、そのログ
使ったソースは
2006_src.ta.gz
あと使ったシェルスクリプトは
これ。
pawのインストールはlapackとblasが必要で、
これもうまくいくらしいが自分
ではまだやってないのでこれはいずれ書く。
以下エラーとかの対処。
- とりあえず手持ちのライブラリが足りなかった
openmotif-develをYaSTでインストール
(openmotif-2.1.32-2_IST.i586.rpm)
- install -s のエラー
imake_bootしたあとできる
$CERN/Makefile
の中身で
INSTPGMFLAGS = -s
を
INSTPGMFLAGS =
に変更
(本当はimake_bootするときにそういうセッティングになるように
$CERN/src/config/
の何かを変更して解決するべきと思われる。)
一応そのあとにできる
$CERN/build/scripts/Makefile
に対しても同じように'-s'を消してエラー回避
ーー>
$CERN_ROOT/src/scripts/Imakefileの関数InstallProgram()を
InstallScript()とかに書き換えることにより
回避できることがわかった。
この場合は同ディレクトリのcernlib gzint pawの名前に'.script'って
拡張子をつけないといけない。
他の関数($CERN_ROOT/src/config/Imake.rulesに書いてあるもの)
使ったり、上のようにオプション変えたりしてもいい
- pawのソースのエラー
$CERN/src/pawlib/cpaw/bugrep.c
に環境依存のバグ?があるみたいなので修正
#define _POSIX_SOURCE
この一行を初めのコメント後の最初に書けばいいみたい。
http://bugs.gentoo.org/275020
にpatchとしてあがってるのでこれを適用してもよい
これであとは基本的にcernに上がっているシェルスクリプトの通りに
やっていけばok
gmakeしたときのlogは
$CERN/build/log
に残るのでこれを随時チェックしてエラーを回避