unable to compile Python 2.6.4 on AIX using gcc

C

chuck

Hello -- I am trying to compile Python 2.6.4 on a Power 5 PC with AIX
5.3. Here are the settings:

export OBJECT_MODE=64
export AR="ar -X64"
export MAKE=/usr/bin/gmake
export CC="gcc"
export CFLAGS="-maix64 -O2 -g -mcpu=power5"
export LDFLAGS="-L/usr/lib64 -L/opt/freeware/lib64
-L/opt/freeware/64/lib -L/usr/X11R6/lib -L/opt/freeware/lib"
export CPPFLAGS="-I/opt/freeware/include -I/usr/lpp/X11/include/X11"
.../Python-2.6.4/configure --with-gcc --disable-ipv6
--prefix=/usr/local/Python-2.6.4 > config_264.log 2>&1
make > make_264.log 2>&1

make fails very early with the following error

===========

gcc -pthread -c -fno-strict-aliasing -DNDEBUG -O3 -Wall
-Wstrict-prototypes -I. -IInclude -I../Python-2.6.4/Includ
e -I/opt/freeware/include -I/usr/lpp/X11/include/X11 -DPy_BUILD_CORE -o
Modules/python.o ../Python-2.6.4/Modules/python.c
In file included from ../Python-2.6.4/Include/Python.h:58,
from ../Python-2.6.4/Modules/python.c:3:
.../Python-2.6.4/Include/pyport.h:685:2: error: #error "LONG_BIT
definition appears wrong for platform (bad gcc/glibc config
?)."
make: The error code from the last command is 1.
===========

I would appreciate any help. Thanks.
 
M

Mark Dickinson

Hello -- I am trying to compile Python 2.6.4 on a Power 5 PC with AIX
5.3.  Here are the settings:

export OBJECT_MODE=64
export AR="ar -X64"
export MAKE=/usr/bin/gmake
export CC="gcc"
export CFLAGS="-maix64 -O2 -g -mcpu=power5"
export LDFLAGS="-L/usr/lib64 -L/opt/freeware/lib64
-L/opt/freeware/64/lib -L/usr/X11R6/lib -L/opt/freeware/lib"
export CPPFLAGS="-I/opt/freeware/include -I/usr/lpp/X11/include/X11"
../Python-2.6.4/configure --with-gcc --disable-ipv6
--prefix=/usr/local/Python-2.6.4 > config_264.log 2>&1
make > make_264.log 2>&1

make fails very early with the following error

===========

         gcc -pthread -c -fno-strict-aliasing -DNDEBUG -O3 -Wall
-Wstrict-prototypes  -I. -IInclude -I../Python-2.6.4/Includ
e -I/opt/freeware/include -I/usr/lpp/X11/include/X11  -DPy_BUILD_CORE -o
Modules/python.o ../Python-2.6.4/Modules/python.c
In file included from ../Python-2.6.4/Include/Python.h:58,
                  from ../Python-2.6.4/Modules/python.c:3:
../Python-2.6.4/Include/pyport.h:685:2: error: #error "LONG_BIT
definition appears wrong for platform (bad gcc/glibc config
?)."
make: The error code from the last command is 1.
===========

I would appreciate any help. Thanks.

Take a look at:

http://bugs.python.org/issue1628484

Mark
 
C

chuck

Thanks Mark. That was indeed very helpful. Here's the current status:

=======================
1. applied changes suggested by Bob Atkins in that thread.

2. setting env variables.

export OBJECT_MODE=64
export CC="gcc"
export CFLAGS="-maix64 -mcpu=power5"
export LDFLAGS="-maix64 -L/usr/lib64 -L/opt/freeware/lib64
-L/opt/freeware/64/lib -L/usr/X11R6/lib -L/opt/freeware/lib"
export CPPFLAGS="-I/opt/freeware/include -I/usr/lpp/X11/include/X11"

3. configuring and compiling using

configure --with-gcc --enable-shared --prefix=/usr/local/Python-2.6.4 >
config_264.log 2>&1 ; make > make_264.log 2>&1
=======================

Both python (executable) and libpython2.6.a build just fine and are in
the same directory as configure.

However, none of the extensions build. I keep getting libpython2.6 not
found error. Here's an example:

building 'math' extension
gcc -pthread -fno-strict-aliasing -maix64 -mcpu=power5 -DNDEBUG -O3
-Wall -Wstrict-prototypes -I.
-I/usr/local/build/python/Python-2.6.4/./Include -I. -
IInclude -I./Include -I/opt/freeware/include -I/usr/lpp/X11/include/X11
-I/usr/local/include -I/usr/local/build/python/Python-2.6.4/Include
-I/usr/local
/build/python/Python-2.6.4 -c
/usr/local/build/python/Python-2.6.4/Modules/mathmodule.c -o
build/temp.aix-5.3-2.6/usr/local/build/python/Python-2.6.4/Mo
dules/mathmodule.o
../Modules/ld_so_aix gcc -pthread -bI:Modules/python.exp -maix64
-L/usr/lib64 -L/opt/freeware/lib64 -L/opt/freeware/64/lib
-L/usr/X11R6/lib -L/opt/freewa
re/lib -fno-strict-aliasing -maix64 -mcpu=power5 -DNDEBUG -O3 -Wall
-Wstrict-prototypes -I. -IInclude -I./Include -I/opt/freeware/include
-I/usr/lpp/X11
/include/X11
build/temp.aix-5.3-2.6/usr/local/build/python/Python-2.6.4/Modules/mathmodule.o
-L/usr/lib64 -L/opt/freeware/lib64 -L/opt/freeware/64/lib -
L/usr/X11R6/lib -L/opt/freeware/lib -L/usr/local/lib -lm -lpython2.6 -o
build/lib.aix-5.3-2.6/math.so
collect2: library libpython2.6 not found

I hacked Makefile to
LDFLAGS= <> -L./ <other flags>

I now get:

ld: 0711-224 WARNING: Duplicate symbol: PyObject_Size
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
Fatal Python error: Interpreter not initialized (version mismatch?)
make: The signal code from the last command is 6.


There are no other versions of python on that machine. I would
appreciate any help. Do I need to set the exec_prefix as well?


Thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,902
Latest member
Elena68X5

Latest Threads

Top