--- AIX-NOTES.orig 2011-02-17 10:51:59.000000000 -0500 +++ AIX-NOTES 2011-02-17 11:03:03.000000000 -0500 @@ -15,7 +15,7 @@ You can compile Python with gcc or the native AIX compiler. The native compiler used to give better performances on this system with older versions of Python. With Python 3.2 it may not be the case anymore, -as this compiler does not allow to compile Python with computed goto. +as this compiler does not allow compiling Python with computed gotos. Some benchmarks need to be done. Compiling with gcc: @@ -23,11 +23,11 @@ CC=gcc OPT="-O2" ./configure --enable-shared make -There are various aliases for the native compiler. It is recommended -to use 'xlc_r' which provides a better level of compatibility and -handles thread initialization properly. +There are various aliases for the native compiler. The recommended +alias for compiling Python is 'xlc_r', which provides a better level of +compatibility and handles thread initialization properly. -It is recommended to add the '-qmaxmem=70000' option, otherwise the +It is a good idea to add the '-qmaxmem=70000' option, otherwise the compiler considers various files too complex to optimize. Compiling with xlc: @@ -37,7 +37,7 @@ Note: On AIX 5.3 and earlier, you will also need to specify the -"--disable-ipv6" flag to configure. This has been corrected on AIX +"--disable-ipv6" flag to configure. This has been corrected in AIX 6.1. @@ -45,19 +45,21 @@ Memory Limitations ---------------------------------------------------------------------- -Note: this section may not apply when compiling Python as a 64 bits +Note: this section may not apply when compiling Python as a 64 bit application. By default on AIX each program gets one segment register for its data segment. As each segment register covers 256 MB, a Python program that -would use more than 256MB will raise a MemoryError. +would use more than 256MB will raise a MemoryError. The standard +Python test suite is one such application. To allocate more segment registers to Python, you must use the linker option -bmaxdata to specify the number of bytes you need in the data segment. -For example, if you want to allow 512MB of memory for Python, you -should build using: +For example, if you want to allow 512MB of memory for Python (this +is enough for the test suite to run without MemroyErrors), you should +build using: make LINKFORSHARED="-Wl,-bE:Modules/python.exp -lld -Wl,-bmaxdata:0x20000000" @@ -66,8 +68,8 @@ It is also possible to go beyond 2GB of memory by activating Large Page Use. You should consult the IBM documentation if you need to use -this option. You can also follow more discussion concerning this -aspect in issue 11212. +this option. You can also follow the discussion of this problem +in issue 11212 at bugs.python.org. http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds3/ldedit.htm @@ -78,7 +80,8 @@ Those issues are currently affecting Python on AIX: -* Python has not been fully tested on AIX while compiled in 64 bits +* Python has not been fully tested on AIX when compiled as a 64 bit + application. * issue 3526: the memory used by a Python process will never be released to the system. If you have a Python application on AIX that