在AIX 5.3上编译Python 2.6.4的问题
我正在尝试在 AIX 5.3 上构建 Python 2.6.4。我是这样运行配置的:
./configure --prefix=/home/chenf/python --disable-ipv6 --disable-shared --with-libs='/usr/lib/libncurses.a' --without-threads --disable-threads --with-ncurses=/utv/sad/ncurses/lib/libncurses.a
我似乎在链接 ncurses 时遇到了问题(见下文),这就是我尝试多种方式告诉配置文件去哪里找 libncurses.a 的原因。/usr/lib/libncurses.a 是一个指向 /utv/sad/ncurses/lib/libncurses.a 的符号链接,这个文件是存在的,并且没有权限问题。在 /usr/local/lib 中也有指向该文件的链接。
我的问题是,执行 make 时出现了以下错误:
running build running build_ext INFO: Can't locate Tcl/Tk libs and/or headers building '_curses' extension ./Modules/ld_so_aix gcc -bI:Modules/python.exp build/temp.aix-5.3-2.6/home/chenf/python-src/Python-2.6.4/Modules/_cursesmodule.o -L/usr/local/lib -lncurses -o build/lib.aix-5.3-2.6/_curses.so ld: 0711-317 ERROR: Undefined symbol: _unctrl ld: 0711-317 ERROR: Undefined symbol: .setsyx ld: 0711-317 ERROR: Undefined symbol: ._setqiflush ld: 0711-317 ERROR: Undefined symbol: .initscr32 ld: 0711-317 ERROR: Undefined symbol: wacs_map ld: 0711-317 ERROR: Undefined symbol: ._getsyx ld: 0711-317 ERROR: Undefined symbol: .getattrs ld: 0711-317 ERROR: Undefined symbol: .w32attrset ld: 0711-317 ERROR: Undefined symbol: .w32insch ld: 0711-317 ERROR: Undefined symbol: .p32echochar ld: 0711-317 ERROR: Undefined symbol: .w32echochar ld: 0711-317 ERROR: Undefined symbol: .getcury ld: 0711-317 ERROR: Undefined symbol: .getcurx ld: 0711-317 ERROR: Undefined symbol: .box32 ld: 0711-317 ERROR: Undefined symbol: .w32attron ld: 0711-317 ERROR: Undefined symbol: .w32attroff ld: 0711-317 ERROR: Undefined symbol: .w32addch ld: 0711-317 ERROR: Undefined symbol: .getpary ld: 0711-317 ERROR: Undefined symbol: .getparx ld: 0711-317 ERROR: Undefined symbol: .getmaxy ld: 0711-317 ERROR: Undefined symbol: .getmaxx ld: 0711-317 ERROR: Undefined symbol: .getbegy ld: 0711-317 ERROR: Undefined symbol: .getbegx ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status building 'zlib' extension ./Modules/ld_so_aix gcc -bI:Modules/python.exp build/temp.aix-5.3-2.6/home/chenf/python-src/Python-2.6.4/Modules/zlibmodule.o -L/usr/local/lib -lz -o build/lib.aix-5.3-2.6/zlib.so ld: 0711-317 ERROR: Undefined symbol: .inflateCopy ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status building 'bz2' extension gcc -DNDEBUG -O -I. -I/home/chenf/python-src/Python-2.6.4/./Include -I. -IInclude -I./Include -I/usr/local/include -I/home/chenf/python-src/Python-2.6.4/Include -I/home/chenf/python-src/Python-2.6.4 -c /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c -o build/temp.aix-5.3-2.6/home/chenf/python-src/Python-2.6.4/Modules/bz2module.o /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:12:19: bzlib.h: No such file or directory /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:111: error: parse error before "BZFILE" /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:111: warning: no semicolon at end of struct or union /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:118: error: parse error before '}' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:118: warning: data definition has no type or storage class /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:122: error: parse error before "bz_stream" /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:122: warning: no semicolon at end of struct or union /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:127: error: parse error before '}' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:127: warning: data definition has no type or storage class /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:131: error: parse error before "bz_stream" /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:131: warning: no semicolon at end of struct or union /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:137: error: parse error before '}' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:137: warning: data definition has no type or storage class /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `Util_CatchBZ2Error': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:147: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:147: error: (Each undeclared identifier is reported only once /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:147: error: for each function it appears in.) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:148: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:160: error: `BZ_PARAM_ERROR' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:167: error: `BZ_MEM_ERROR' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:172: error: `BZ_DATA_ERROR' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:173: error: `BZ_DATA_ERROR_MAGIC' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:178: error: `BZ_IO_ERROR' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:183: error: `BZ_UNEXPECTED_EOF' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:190: error: `BZ_SEQUENCE_ERROR' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:229: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `Util_GetLine': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:239: error: `f' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:243: error: `n' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:265: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:282: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:325: error: parse error before "BZFILE" /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `Util_UnivNewlineRead': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:328: error: `buf' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:334: error: `f' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:335: error: `bzerror' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:335: error: `stream' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:335: error: `n' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:380: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:392: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `Util_DropReadAhead': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:394: error: `f' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:402: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `Util_ReadAhead': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:407: error: `f' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:418: error: `bufsize' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:427: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:430: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:443: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `Util_ReadAheadGetLineSkip': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:450: error: `f' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:451: error: `bufsize' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:457: error: `skip' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:498: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_read': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:505: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:509: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:549: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:553: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:585: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_readline': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:590: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:594: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:630: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_readlines': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:647: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:651: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:677: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:685: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:792: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_write': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:800: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:806: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:828: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:852: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_writelines': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:863: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:878: error: `seq' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:953: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:990: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_seek': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1004: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1016: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1046: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1048: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1143: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_tell': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1147: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1172: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_close': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1175: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1178: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1204: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1225: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_get_newlines': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1227: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1254: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_get_closed': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1256: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1260: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_get_mode': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1262: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1266: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_get_name': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1268: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1291: error: parse error before ')' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1291: error: initializer element is not constant /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1291: error: (near initialization for `BZ2File_members[0].offset') /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1292: error: initializer element is not constant /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1292: error: (near initialization for `BZ2File_members[0]') /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1293: error: initializer element is not constant /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1293: error: (near initialization for `BZ2File_members[1]') /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1300: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_init': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1311: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1313: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1313: error: `kwargs' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1390: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1412: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_dealloc': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1419: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1440: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_getiter': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1442: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1454: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2File_iternext': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1458: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1554: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2Comp_compress': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1562: error: `bz_stream' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1562: error: `bzs' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1562: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1565: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1595: error: `BZ_RUN' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1597: error: `BZ_RUN_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1636: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2Comp_flush': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1640: error: `bz_stream' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1640: error: `bzs' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1640: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1663: error: `BZ_FINISH' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1665: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1667: error: `BZ_FINISH_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1707: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2Comp_init': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1713: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1713: error: `kwargs' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1731: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1731: error: `bz_stream' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1733: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1752: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2Comp_dealloc': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1758: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1826: error: parse error before ')' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1826: error: initializer element is not constant /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1826: error: (near initialization for `BZ2Decomp_members[0].offset') /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1826: error: initializer element is not constant /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1826: error: (near initialization for `BZ2Decomp_members[0]') /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1827: error: initializer element is not constant /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1827: error: (near initialization for `BZ2Decomp_members[1]') /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1845: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2Decomp_decompress': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1853: error: `bz_stream' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1853: error: `bzs' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1853: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1856: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1883: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1893: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1936: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2Decomp_init': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1940: error: `args' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1951: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1955: error: `bz_stream' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1957: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: At top level: /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1978: error: parse error before '*' token /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `BZ2Decomp_dealloc': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:1984: error: `self' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `bz2_compress': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2065: error: `bz_stream' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2065: error: parse error before "_bzs" /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2066: error: `bzs' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2066: error: `_bzs' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2102: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2111: error: `BZ_FINISH' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2113: error: `BZ_STREAM_END' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2115: error: `BZ_FINISH_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c: In function `bz2_decompress': /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2158: error: `bz_stream' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2158: error: parse error before "_bzs" /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2159: error: `bzs' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2159: error: `_bzs' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2186: error: `BZ_OK' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/bz2module.c:2197: error: `BZ_STREAM_END' undeclared (first use in this function) building '_multiprocessing' extension gcc -DNDEBUG -O -DHAVE_SEM_OPEN=1 -DHAVE_FD_TRANSFER=1 -DHAVE_SEM_TIMEDWAIT=1 -IModules/_multiprocessing -I. -I/home/chenf/python-src/Python-2.6.4/./Include -I. -IInclude -I./Include -I/usr/local/include -I/home/chenf/python-src/Python-2.6.4/Include -I/home/chenf/python-src/Python-2.6.4 -c /home/chenf/python-src/Python-2.6.4/Modules/_multiprocessing/socket_connection.c -o build/temp.aix-5.3-2.6/home/chenf/python-src/Python-2.6.4/Modules/_multiprocessing/socket_connection.o In file included from /home/chenf/python-src/Python-2.6.4/Modules/_multiprocessing/socket_connection.c:202: /home/chenf/python-src/Python-2.6.4/Modules/_multiprocessing/connection.h: In function `connection_poll': /home/chenf/python-src/Python-2.6.4/Modules/_multiprocessing/connection.h:357: error: `_save' undeclared (first use in this function) /home/chenf/python-src/Python-2.6.4/Modules/_multiprocessing/connection.h:357: error: (Each undeclared identifier is reported only once /home/chenf/python-src/Python-2.6.4/Modules/_multiprocessing/connection.h:357: error: for each function it appears in.) Traceback (most recent call last): File "./setup.py", line 1910, in main() File "./setup.py", line 1905, in main 'Lib/smtpd.py'] File "/home/chenf/python-src/Python-2.6.4/Lib/distutils/core.py", line 152, in setup dist.run_commands() File "/home/chenf/python-src/Python-2.6.4/Lib/distutils/dist.py", line 975, in run_commands self.run_command(cmd) File "/home/chenf/python-src/Python-2.6.4/Lib/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/home/chenf/python-src/Python-2.6.4/Lib/distutils/command/build.py", line 134, in run self.run_command(cmd_name) File "/home/chenf/python-src/Python-2.6.4/Lib/distutils/cmd.py", line 333, in run_command self.distribution.run_command(command) File "/home/chenf/python-src/Python-2.6.4/Lib/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/home/chenf/python-src/Python-2.6.4/Lib/distutils/command/build_ext.py", line 340, in run self.build_extensions() File "./setup.py", line 201, in build_extensions build_ext.build_extensions(self) File "/home/chenf/python-src/Python-2.6.4/Lib/distutils/command/build_ext.py", line 449, in build_extensions self.build_extension(ext) File "./setup.py", line 234, in build_extension if not self.configure_ctypes(ext): File "./setup.py", line 1715, in configure_ctypes ffi_srcdir = os.path.join(fficonfig['ffi_srcdir'], 'src') KeyError: 'ffi_srcdir' make: 1254-004 The error code from the last command is 1. Stop.
关于找不到 Tcl/Tk 的问题对我来说不是问题,我不需要它们。
但是,curses 的问题就很棘手了。我需要这个。如果我理解得没错,它找不到 libncurses.a。至少,所有列出的“未定义符号”看起来像是 ncurses 的函数。但也许我错了,也许它找到了 libncurses.a 文件,但找不到里面的符号?我不知道。
3 个回答
感谢Jed Smith的建议,我终于搞定了这个问题。下面是我完成这个的步骤:
第一步:首先,我编辑了“Makefile.pre.in”文件。我把“CC= @CC@”这一行改成了“CC= gcc”。这样做是为了强制编译使用gcc,而不是AIX系统试图使用的其他奇怪的东西。
第二步:在/usr/include目录下放了一个ncurses.h的软链接。我在/opt/utv/sad/include/ncurses/下找不到ncurses.h,所以我采取了点小手段;我以root身份运行了以下命令:
ln -s /utv/sad/ncurses/include/ncurses/ncurses.h /usr/include/ncurses.h
- 第三步:我编译并安装了GNU binutils和GNU make,并用“--prefix=/home/chenf”进行了配置。然后我把/home/chenf/bin放在了我的路径的最前面,以确保编译过程使用那里找到的工具,而不是AIX提供的默认工具。
- 第四步:我这样运行了configure:
./configure --prefix=/opt/freeware --disable-ipv6 --without-threads --with-ncurses=/opt/sad/ncurses
在编译时,Ipv6和线程给我带来了错误,而我并不需要它们,所以我把它们禁用了。在/opt/sad/ncurses目录下找到了lib/libncurses.a。这似乎解决了库的问题。
之后,我只需要运行“make”和“make install”。就完成了。
在编译过程中我确实遇到了一些错误,最后被告知有些模块(比如数学和日期时间模块)没有成功生成,但其他的都还好。暂时我可以先不使用它们。
这个问题真是老掉牙了(2009年就有了??),但我今天也遇到了同样的问题!!
对于像我一样的其他AIX用户,我来分享一下我的情况。
首先,检查一下你的环境变量 OBJECT_MODE。
在我的情况下,OBJECT_MODE 设置为 64,但库文件 libcurses.a 里只包含 32位的对象文件!!
我把环境变量 OBJECT_MODE 改成 32 后,一切都正常了!!!
看起来 bzip2 也找不到自己,有时候当你离 GCC 太远时,会看到一些奇怪的 Python 编译错误。我建议你先用 GCC、GNU binutils 和 GNU make 来编译一下,看看问题是否还存在。
另外,当你在使用 configure
时,它会根据你的配置选项来确定库的名称。因此,这样写:
--with-ncurses=/utv/sad/ncurses/lib/libncurses.a
应该改成:
--with-ncurses=/utv/sad/ncurses/lib
但这也意味着头文件可以在那找到。那它们能找到吗?
你的平台编译器可能还有一个选项,可以添加一个库的目录——因为在这种情况下,Python 在编译扩展之前会尝试使用 -lncurses
(这会让链接器在库搜索路径中查找 libncurses.a)。