2013-08-26 272 views
1

我試圖安裝pyodbc。我做了所有推薦的步驟,並不斷收到此錯誤:在CentOS 5上安裝pyodbc

python setup.py build<br> 
running build<br> 
running build_ext<br> 
building 'pyodbc' extension<br> 
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fPIC -DPYODBC_VERSION=3.0.7 -I/usr/include/python2.4 -c /home/hyelluas/pyodbc-3.0.7/src/getdata.cpp -o build/temp.linux-x86_64-2.4/home/hyelluas/pyodbc-3.0.7/src/getdata.o -Wno-write-strings<br> 
/home/hyelluas/pyodbc-3.0.7/src/connection.h:27: error: âuintptr_tâ does not name a type 
error: command 'gcc' failed with exit status 1 

有人看到它嗎?任何想法接下來要做什麼?我看看文件connection.h,它對我來說很好。

+1

「我編輯過那個文件connection.h」 - 可能是個壞主意。看起來你可能會搞砸了。 – user2357112

回答

0

管理摘要:此錯誤提示您沒有將構建環境設置爲正確,或者構建過程會讓事情變得更糟。

詳細信息:uintptr_t是ISO C99語言規範的可選部分,來自stdint.h。也就是說,我很確定GCC已經有這麼多年了。我會檢查你的編譯器的包含路徑,以確保該文件存在於其中。問題可能的來源包括:

  1. 你的編譯工具沒有正確配置,並編譯任何東西不平凡的,如果是這樣的話不應該工作。

  2. 你的編譯器是古老而過時的。這似乎不太可能,因爲CentOS隨附..GCC 4.1.2(我認爲?),我很確定這足夠新。

  3. 你在這裏的構建過程在某種程度上混淆了GCC,並讓它在編譯時不包含標準的include路徑。這似乎是最有可能的選擇,但我不確定什麼是正確的解決方案。

希望至少能給你更多關於尋找什麼的細節。

+0

謝謝你的解釋,但是我該怎麼辦?我應該重新安裝gcc嗎? –

+0

嗨,我有同樣的問題,這只是第一部分,你可以添加一個包括stdin.h在文件的開始,它會通過錯誤,但你會有其他人。底線是你至少需要Python 2.7來編譯pyodbc – jameslimousin