我開發一個C共享庫,使一個python腳本調用Python嵌入時。 當我運行該應用程序我得到這個錯誤:未定義的符號:PyExc_ImportError用C
Traceback (most recent call last):
File "/home/ubuntu/galaxy-es/lib/galaxy/earthsystem/gridftp_security/gridftp_acl_plugin.py", line 2, in <module>
import galaxy.eggs
File "/home/ubuntu/galaxy-es/lib/galaxy/eggs/__init__.py", line 5, in <module>
import os, sys, shutil, glob, urllib, urllib2, ConfigParser, HTMLParser, zipimport, zipfile
File "/usr/lib/python2.7/zipfile.py", line 6, in <module>
import io
File "/usr/lib/python2.7/io.py", line 60, in <module>
import _io
ImportError: /usr/lib/python2.7/lib-dynload/_io.so: undefined symbol: PyExc_ImportError
如果我嘗試從控制檯導入模塊IO可代替罰款:
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import galaxy.eggs
>>>
在庫的編譯我用這個編譯器選項,建議在這裏: Embedding python in C, undefined symbol: PyExc_ImportError 另外我還添加了從 蟒蛇,配置--includes獲得的編譯器選項| --libs | --cflags | --ldflags
在這裏你可以找到庫的生成文件的日誌http://pastebin.com/348rhBjM
非常感謝,任何幫助都會有所幫助。
的命令應該是這樣的:http://pastebin.com/jSqSnBj5,在這裏,而不是http://pastebin.com/348rhBjM你可以找到整個化妝日誌。 – user1515248 2012-08-07 09:40:28
你有很多的警告,你真的應該檢查到!乍看之下,最嚴重的似乎是這樣的:'globus_gfs_acl_vm.c:260:33:warning:傳遞'snprintf'的參數2會使指針中的整數變爲無指針的指針。雖然可能無關您的問題,您應該_really_嘗試解決儘可能多的警告可能的! – 2012-08-07 09:46:15