2012-12-08 99 views
0

我嘗試了一段時間來爲我的EPD-python安裝python-igraph-0.6模塊。 我建C芯,和各種網站上的指令之後我做的:在Fedora 17上安裝python-igraph-0.6模塊

/home/joseph/epd/bin/python setup.py build 

/home/joseph/epd/bin/python setup.py install 

,它始終生成相同的錯誤:

error: command 'gcc' failed with exit status 1 

我會必須可能的解釋:'gcc'工作不正常(但我已經用./configure,make,make install編譯了C部分),或者某種東西沒有正確鏈接。 我已經看過類似的帖子和安裝python-devel軟件包等等...... 但沒有任何改變。

完整的輸出是:

[[email protected] python-igraph-0.6]# /home/joseph/epd/bin/python setup.py build 
Using default include and library paths for compilation 
If the compilation fails, please edit the LIBIGRAPH_FALLBACK_* 
variables in setup.py or include_dirs and library_dirs in 
setup.cfg to point to the correct directories and libraries 
where the C core of igraph is installed 
() 
Include path: /usr/include /usr/local/include 
Library path: 
running build 
running build_py 
running build_ext 
building 'igraph._igraph' extension 
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -O2 -fPIC -I/usr/include  -I/usr  /local /include -I../../build/include -I../../include -I/usr/local /include -I/usr/include -I/home/joseph/epd/include/python2.7 -c src/common.c -o  build/temp.linux-x86_64-2.7/src/common.o 
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -O2 -fPIC -I/usr/include -I/usr/local/include -I../../build/include -I../../include -I/usr/local/include -I/usr/include -I/home/joseph/epd/include/python2.7 -c src/arpackobject.c -o build/temp.linux-x86_64-2.7/src/arpackobject.o 
In file included from src/arpackobject.c:23:0: 
src/arpackobject.h:27:27: fatal error: igraph_arpack.h: No such file or directory 
compilation terminated. 
error: command 'gcc' failed with exit status 1 
+0

PS:'easy_install python-igraph'會導致相同的錯誤信息。 – user1227298

+0

PS2:'yum install python-igraph'會安裝一些舊版本的0.5.4-4,但無論如何都不能在正常的系統python或EPD-python中導入它。 – user1227298

+0

請包括'python setup.py build'的完整輸出 - 您包含的行並不是真正的信息。 –

回答

2

你所得到的錯誤消息表明編譯器無法找到綁定到的igraph的C-核心所需的標題。特別是它缺少一個名爲igraph_arpack.h的文件,但這不是唯一的一個,會有更多的gcc在此消息後繼續編譯。

setup.py igraph的Python界面腳本依賴於pkg-config來找出在哪裏可以找到標題,但是在你的系統中這會失敗,可能是因爲pkg-config本身沒有安裝。所以,我想該解決方案如下:

  1. 確保你已經編譯的C核心後運行make install。你聲稱你是這麼做的,但爲了完整性,我想我會提到它。

  2. 在您的系統上安裝pkg-config

  3. 檢查pkg-config是否通過輸入pkg-config --cflags --libs igraph來了解igraph的安裝C核。如果你看到一些打印到標準輸出的編譯器選項,你沒問題。

  4. 再次運行python setup.py install。這次它應該成功調用pkg-config,獲取所需的編譯器選項,併成功編譯Python接口。

如果仍然無法正常工作(例如,因爲你不能讓pkg-config工作),你可以打開setup.cfg和編輯include_dirslibrary_dirs變量;前者應指向包含igraph文件的文件夾(通常爲/usr/local/include/igraph/usr/include/igraph,具體取決於您安裝C核的位置),後者應指向libigraph.so所在的文件夾。

+0

是的,這是'pkg-config'的問題。我不得不更新指向igraph的路徑:'export PKG_CONFIG_PATH =/home/...'。接下來,出現了'python-igraph ImportError:/igraph/_igraph.so:未定義符號:igraph_warning_handler_ignore'錯誤,您已經在另一個博客上成功回答了這個錯誤。非常感謝!我希望你的軟件包做得很好(一定比'NetworkX'快)。你可以用這些信息更新'igraph'-Wiki。這會讓我們有些沮喪,這會讓小白用戶備受歡迎。感謝您提供軟件和建議! – user1227298

+0

還有一條評論:我注意到'yum install igraph'安裝了一個老版本'igraph-5x',它在命令行輸入'igraph'(使用系統python)時開始。 – user1227298

+1

@admins:我不明白這個問題或評論的問題是什麼。有一個問題,它已經解決了!這很有幫助。沒關係。 – user1227298