当前位置: 首页 > 工具软件 > cx_Oracle > 使用案例 >

cx-oracle==6.1,在AIX6.1下编译python版的cx_Oracle报cx_Oracle错误

长孙弘壮
2023-12-01

近日在AIX6.1上需要编译64位的python,并且支持cx_Oracle。在编译python时比较顺利,但在编译到cx_Oracle时,报告一下错误:

ld: 0711-317 ERROR: Undefined symbol: .OCIPing

ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.

在网上搜索,无果。无奈之下翻看setup.py,发现:

...

if sys.platform == "aix4":

extraCompileArgs.append("-qcpluscmt")

elif sys.platform == "aix5":

extraCompileArgs.append("-DAIX5")

elif sys.platform == "cygwin":

...

在这段代码里没有对aix6的处理,那也就是说在编译时可能少了必要的编译参数。

考虑AIX5和AIX6相近,虽修改上面的代码为:

if sys.platform == "aix4":

extraCompileArgs.append("-qcpluscmt")

elif sys.platform == "aix6":

extraCompileArgs.append("-DAIX5")

elif sys.platform == "cygwin":

重新编译,OK!问题搞定。

 类似资料: