如何在Windows上构建Python Sybase模块?

时间:2011-12-30 18:50:31

标签: python cygwin sybase python-module

我正在尝试在Cygwin上构建python-sybase模块,但它似乎不起作用。它似乎开始编译,然后它开始抛出以下错误:

$ python setup.py install
running install
running bdist_egg
running egg_info
writing python_sybase.egg-info/PKG-INFO
writing top-level names to python_sybase.egg-info/top_level.txt
writing dependency_links to python_sybase.egg-info/dependency_links.txt
reading manifest file 'python_sybase.egg-info/SOURCES.txt'
writing manifest file 'python_sybase.egg-info/SOURCES.txt'
installing library code to build/bdist.cygwin-1.7.7-i686/egg
running install_lib
running build_py
running build_ext
building 'sybasect' extension
gcc -fno-strict-aliasing -g -O2 -pipe -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DWANT_BULKCOPY -DHAVE_DATE                    TIME -DHAVE_DECIMAL -DHAVE_BLK_ALLOC -DHAVE_BLK_DESCRIBE -DHAVE_BLK_DROP -DHAVE_BLK_ROWXFER_MULT -DHAVE_BLK_TEXTXFE                    R -DHAVE_CT_CURSOR -DHAVE_CT_DATA_INFO -DHAVE_CT_DYNAMIC -DHAVE_CT_SEND_DATA -DHAVE_CT_SETPARAM -DHAVE_CS_CALC -DHA                    VE_CS_CMP -IC:\Sybase\sql1251/OCS-15_0/include -I/usr/include/python2.6 -c blk.c -o build/temp.cygwin-1.7.7-i686-2.                    6/blk.o

...

build/temp.cygwin-1.7.7-i686-2.6/blk.o: In function `CS_BLKDESC_blk_bind':
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:33: undefined reference to `_blk_bind'
build/temp.cygwin-1.7.7-i686-2.6/blk.o: In function `CS_BLKDESC_blk_describe':
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:77: undefined reference to `_blk_describe'
build/temp.cygwin-1.7.7-i686-2.6/blk.o: In function `CS_BLKDESC_blk_done':
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:133: undefined reference to `_blk_done'
build/temp.cygwin-1.7.7-i686-2.6/blk.o: In function `CS_BLKDESC_blk_drop':
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:166: undefined reference to `_blk_drop'
build/temp.cygwin-1.7.7-i686-2.6/blk.o: In function `CS_BLKDESC_blk_init':
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:200: undefined reference to `_blk_init'
build/temp.cygwin-1.7.7-i686-2.6/blk.o: In function `CS_BLKDESC_blk_props':
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:440: undefined reference to `_blk_props'
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:362: undefined reference to `_blk_props'
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:283: undefined reference to `_blk_props'
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:398: undefined reference to `_blk_props'
/home/jjamae/tmp/python-sybase-0.40pre2/blk.c:305: undefined reference to `_blk_props'

我也尝试过mingw32编译器,但是我收到了这个错误:

$ python setup.py build -c mingw32
running build
running build_py
running build_ext
building 'sybasect' extension
gcc -mno-cygwin -mdll -O -Wall -DWANT_BULKCOPY -DHAVE_DATETIME -DHAVE_DECIMAL -DHAVE_BLK_ALLOC -DHAVE_BLK_DESCRIBE -DHAVE_BLK_DROP -DHAVE_BLK_ROWXFER_MULT -DHAVE_BLK_TEXTXFER -DHAVE_CT_CURSOR -DHAVE_CT_DATA_INFO -DHAVE_CT_DYNAMIC -DHAVE_CT_SEND_DATA -DHAVE_CT_SETPARAM -DHAVE_CS_CALC -DHAVE_CS_CMP -IC:\Sybase\sql1251/OCS-15_0/include -I/usr/include/python2.6 -c blk.c -o build/temp.cygwin-1.7.7-i686-2.6/blk.o
In file included from /usr/include/python2.6/Python.h:58,
                 from sybasect.h:9,
                 from blk.c:9:
/usr/include/python2.6/pyport.h:261:24: sys/select.h: No such file or directory
/usr/include/python2.6/pyport.h:472:24: sys/termio.h: No such file or directory
error: command 'gcc' failed with exit status 1

有没有人能够在Windows上成功编译Python-Sybase?如果我不能在Cygwin中做到这一点,我是否有一种简单的方法可以在Cygwin之外构建它(使用免费编译器)?

2 个答案:

答案 0 :(得分:1)

如“installation”页面所述,您应该可以使用免费的(Microsoft)Visual C ++ 2005/2008 Express Edition在Windows上构建Python-Sybase。

答案 1 :(得分:0)

我遇到了mingw的问题,“undefined reference ..”,所以下载了(微软)Visual C ++ 2008 Express Edition并且它已经编译好了......