2013-01-22 101 views
3

我想安裝scipy,並遇到問題。將我的 結果與FAQ頁面比較,看起來像我的ATLAS不完整。頁面 說:ATLAS公司提供在Linux上scipy安裝:無法找到一個lapack對象sgges_

LAPACK庫是不完整的 獲得進口類似錯誤 導入錯誤時,你會注意到它:.../flapack.so:未定義的符號:sgesdd_ 要確保與NumPy/SciPy的是針對完整的LAPACK構建,檢查文件liblapack.a的 大小 - 它應該大約爲6MB。 liblapack.a的位置由執行 蟒蛇顯示numpy的/的distutils/system_info.py LAPACK 要解決:按照 http://math-atlas.sourceforge.net/errata.html#completelp說明構建 完整的LAPACK庫來創建一個完整的liblapack.a。然後將 liblapack.a複製到安裝libatlas.a的同一位置,然後用scipy build重試 。

我錯過的實際對象是「sgges_」。我嘗試了兩種解決方案。 1)我已經按照ATLAS的說明完成了 LAPACK,rev。 3.4.2。 (順便說一下,由此產生的LAPACK大約是10MB,大於 在常見問題解答中的6MB。)

2)我找到了一個用於LAPACK - rev的預編譯二進制文件。不清楚 - 只是 下載它,並將其放置到位。 (它接近6MB大小。)

無論如何,我都會遇到同樣的問題。

「nm」顯示在liblapack.a plain中定義的sgges_。 System_info.py在/ usr/local/lib中找到了我的lapack。

這是一個關鍵失敗?還有什麼要做的嗎?

順便說一句,我在64位CentOs 5.x機器上運行python 2.7,而gfortran是我的FORTRAN編譯器的 。

謝謝。

+0

根據以下指南嘗試設置LAPACK + ATLAS:http://linuxtoolkit.blogspot.com/2011/03/compiling-lapack-on-centos-5.html http://linuxcluster.wordpress.com/ 2011/03/25 /編譯 - atlas-on-centos5/ –

+0

謝謝。會看看。 –

回答

1

我必須在slackware 13 linux發行版上從頭開始編譯scipy,這是一個非常基本的linux系統;我羅列出來的所有步驟和結果在這裏:

SCIPY install from source code on slackware 13

在我安裝,我試圖讓動態庫到本地目錄/home/andrew3/.local/lib安裝,因爲:這不是什麼系統安裝。您遇到的類似錯誤是由鏈接程序ldd無法找到庫引起的。

您可以通過複製我的步驟並查看其失敗的位置來隔離您的問題。