3

scipy をインストールしようとしていますが、問題が発生しています。私の結果を FAQ ページと比較すると、ATLAS が不完全なようです。ページには次のように記載されています。

ATLAS が提供する LAPACK ライブラリは不完全です ImportError: .../flapack.so : undefined symbol: sgesdd_ のようなインポート エラーが発生したときに気付くでしょう 完全な LAPACK に対して NumPy/SciPy がビルドされていることを確認するには、ファイルのサイズを確認してくださいliblapack.a - 約 6MB のはずです。liblapack.a の場所は、python numpy/distutils/system_info.py lapack を実行することで表示されます。修正するには、http://math-atlas.sourceforge.net/errata.html#completelp の指示に従っ ください完全な liblapack.a。次に、liblapack.a を libatlas.a がインストールされているのと同じ場所にコピーし、scipy ビルドで再試行します。

私が見逃している実際のオブジェクトは「sgges_」です。私は2つの解決策を試しました。

1) 私は ATLAS の指示に従って LAPACK, rev. の完全なビルドを作成しました。3.4.2. (ところで、結果の LAPACK は約 10MB で、FAQ の 6MB より大きくなります。)

2) LAPACK のコンパイル済みバイナリを見つけました - rev. 不明 - ダウンロードして所定の位置にドロップしただけです。(サイズは6MB近くあります。)

私は関係なく同じ問題を抱えています。

「nm」は liblapack.a で定義されている sgges_ を日として表示します。System_info.py は、/usr/local/lib で私の lapack を適切に検出します。

これは重大な障害ですか? 他に何かすることはありますか?

ところで、私は 64 ビットの CentOs 5.x マシンで python 2.7 を実行しています。gfortran は私の FORTRAN コンパイラです。

ありがとう。

4

1 に答える 1

1

非常に基本的なLinuxシステムであるslackware 13 Linuxディストリビューションでscipyを最初からコンパイルする必要がありました。ここにすべての手順と結果をリストしました。

slackware 13 のソースコードからの SCIPY インストール

私のインストールでは、動的ライブラリをローカル ディレクトリ /home/andrew3/.local/lib にインストールしようとしていました。これはシステム インストールではなかったためです。発生しているのと同様のエラーは、リンカー ldd がライブラリを見つけられないことが原因で発生しました。

私の手順を再現し、どこで失敗したかを確認することで、問題を特定できる場合があります。

于 2013-03-05T03:08:05.780 に答える