宮崎です。こんにちは。 > 福原です > > ATLAS と CLAPACK > をどういう風にインストールしたのでしょうか. いずれもソースコードからコンパイルしています。 clapack は netlib からとってきた version 3.0、 atlas も本家からの最新版です。 コンパイルの順番も、指示どおり clapack、atlas の 順です。clapack は Readme.install にしたがって コンパイルすると、(4) の blas testing で 変なエラーメッセージは出ますが、これはどうしようもないの で無視してます。google で検索すると、このエラーは 他の人も経験していて避けがたいようです。 http://www.cbrc.jp/~tominaga/tips/osx_lapack.html clapack は、このエラー以外何らトラブルなくインストールで きます。 atlas も install.txt どおりにやっています。 こちらもトラブルなくインストールできます。 clapack は、/usr/local/lib/clapack 以下に、 atlas は /usr/local/lib//atlas 以下に入れています。 なお、コンパイラは、gcc-3.3.2 を使用してます。 > http://math-atlas.sourceforge.net/ から > atlas3.7.10.tar.bz2 > をとってきてインストールしてみると,liblapack.a には > zgeev は含まれませんでした. 普通に atlas をコンパイルしただけだと、 atlas のディレクトリにできる liblapack.a の中には zgeev は入っていません。 何もしないと、zgeev は、clapack ディレクトリ側の liblapack.a に入っているだけです。 atlas/doc/Libreadme.txt の最後の部分に clapack ディレクトリにできる liblapack.a とマージして full package を作る方法がかかれています。 これに従って、atlas にできる liblapack.a と clapack にできる liblapack.a を マージしています。マージされた liblapack.a は atlas ディレクトリ側に入ります。 nm -g 云々でみたのは、マージされた atlas ディレクトリにある liblapack.a です。 マージしたので、zgeev が入っています。 (念のためですが)なぜこんなことまでやったかと 言うと、当初はマージしていなかったのですが、 あんまりリンカが通らないので、atlas ディレクトリ側の liblapack.a を読んでしまってエラーがでているのか とも考えられたので、いろいろ調べてみて、 こういうマージされた liblapack.a を使う方法を 試したのです。で、結果はやっぱりリンカのエラーは 変わらないということです。 > -llapack のかわりに lapack_LINUX.a > を(フルパスで)指定して, 趣旨は、多分、clapack ディレクトリにある liblapack.a のシンボリックリンク元をフルパスで 直接参照せよということだと思いますが、 これって、gcc の -l オプションを使ってできるのですか? もし直接参照できるなら、やりかたを教えてもらえませんか? > -lF77 の次に -lI77 を追加でどうでしょう. これもうまく行きませんでした。 liblapack.a の zgeev.o の中のシンボルをチェックした 限りの話ですが、zgeev.o は、libI77.a の中の関数を コールしていないので追加してもかわらないのだと 思います。 binutils のバージョンが古いせいなのかと思って、 昨日からバージョンアップして試したりしたのですが、 これもハズレのようで、やっぱりリンカでエラーがでます。 clapack などのパッケージ側の問題なのか、 gcc や bintuils の問題なのか、はたまた私の PC の システム構成の問題なのか、糸口が見えないので ほとほと弱りました。