Compiled Python 3.0 final and Python 2.6.1 on AIX 5.2 successfully
Posted on 2009-01-09 23:55 流水 阅读(584) 评论(0) 收藏 举报Today I compiled Python 3.0 final on AIX 5.2 after apply a small patch on multiprocessing.c and setup.py.
[Python 2.6.1] make test
......
11 tests failed:
test_cmath test_fileio test_httpservers test_io test_locale
test_mmap test_multiprocessing test_posix test_pty test_urllib2
test_wait4
41 tests skipped:
test_aepack test_al test_applesingle test_bsddb test_bsddb185
test_bsddb3 test_cd test_cl test_codecmaps_cn test_codecmaps_hk
test_codecmaps_jp test_codecmaps_kr test_codecmaps_tw test_ctypes
test_curses test_dl test_epoll test_gdbm test_gl test_imgfile
test_kqueue test_largefile test_linuxaudiodev test_macos
test_macostools test_normalization test_ossaudiodev test_pep277
test_py3kwarn test_scriptpackages test_socketserver test_sqlite
test_ssl test_startfile test_sunaudiodev test_timeout
test_urllib2net test_urllibnet test_winreg test_winsound
test_zipfile64
3 skips unexpected on aix5:
test_ssl test_largefile test_ctypes
[Python 3.0 final] make test
......
286 tests OK.
10 tests failed:
test_binascii test_cmath test_fileio test_httpservers test_io
test_mmap test_multiprocessing test_posix test_pty test_wait4
25 tests skipped:
test_codecmaps_cn test_codecmaps_hk test_codecmaps_jp
test_codecmaps_kr test_codecmaps_tw test_ctypes test_curses
test_dbm_gnu test_epoll test_kqueue test_largefile test_nis
test_normalization test_ossaudiodev test_pep277 test_socketserver
test_sqlite test_startfile test_timeout test_urllib2net
test_urllibnet test_winreg test_winsound test_xmlrpc_net
test_zipfile64
3 skips unexpected on aix5:
test_curses test_largefile test_ctypes
# cat aix-patch
diff -Naur Python-2.6/Modules/_multiprocessing/multiprocessing.c Python-2.6-clean-patch/Modules/_multiprocessing/multiprocessing.c
--- Python-2.6/Modules/_multiprocessing/multiprocessing.c 2008-06-14 00:38:33.000000000 +0200
+++ Python-2.6-clean-patch/Modules/_multiprocessing/multiprocessing.c 2008-10-07 12:23:55.000000000 +0200
@@ -8,6 +8,13 @@
#include "multiprocessing.h"
+#ifndef CMSG_SPACE
+#define CMSG_SPACE(len) (_CMSG_ALIGN(sizeof(struct cmsghdr)) + _CMSG_ALIGN(len))
+#endif
+#ifndef CMSG_LEN
+#define CMSG_LEN(len) (_CMSG_ALIGN(sizeof(struct cmsghdr)) + (len))
+#endif
+
PyObject *create_win32_namespace(void);
PyObject *pickle_dumps, *pickle_loads, *pickle_protocol;
diff -Naur Python-2.6/setup.py Python-2.6-clean-patch/setup.py
--- Python-2.6/setup.py 2008-09-30 02:15:45.000000000 +0200
+++ Python-2.6-clean-patch/setup.py 2008-10-07 12:23:34.000000000 +0200
@@ -1277,6 +1277,14 @@
)
libraries = []
+ elif platform.startswith('aix'):
+ macros = dict(
+ HAVE_SEM_OPEN=1,
+ HAVE_SEM_TIMEDWAIT=0,
+ HAVE_FD_TRANSFER=1
+ )
+ libraries = ['rt']
+
else: # Linux and other unices
macros = dict(
HAVE_SEM_OPEN=1,