Python 2.7.1 64-bit Build on HP-UX11.31 ia64 with aCC - Many modules failed to build
Wong Wah Meng-R32813
r32813 at freescale.com
Sun Sep 18 11:41:30 CEST 2011
I have posted this in Compiler SIG and re-post here in case anyone who knows about this issue is not subscribed to that group.
I am working on python build on my server using HP-UX ANSI C Compiler. I want to be consistent using aCC throughout instead of gcc for my python and cx_Oracle build as Oracle is not supporting gcc build much. Here is my aCC version.
# swlist -l product | grep Compiler
ACXX C.06.26.EVAL HP C/aC++ Compiler
C-ANSI-C C.06.26.EVAL HP C/aC++ Compiler
COMPLIBS B.11.31 Compiler Support Libraries
Anyhow, my issue now is when I am building my python in 64-bit, I am encountering many modules failed to build issue, despite the python executable is successfully built. There are just so many modules that failed, that I would conclude my build failed. :P
I followed through the instruction in README file for 64-bit build using HP-UX compiler (--without-gcc option is used in configure). I exported and unexported the environment variables before configure and make is run, respectively. I also removed -O option in the Makefile before running make.
I have a few questions.
1.) Why Makefile is re-generated after python executable is created? I noticed the removal of optimization flag in Makefile is gone/restored after python binary is generated.
2.) 64-bit option. It seems that this is a bad flag that linker doesn't recognize? Many important modules failed to build, and I believe its due to this error. When I manually execute ld without passing in +DD64 flag, the module is generated successfull.
ld -b +DD64 -lxnet build/temp.hp-ux-B.11.31-ia64-2.7/home/r32813/Build/2.7.1/Python-2.7.1/Modules/mathmodule.o build/temp.hp-ux-B.11.31-ia64-2.7/home/r32813/Build/2.7.1/Python-2.7.1/Modules/_math.o -L/usr/local/lib -lm -o build/lib.hp-ux-B.11.31-ia64-2.7/math.so
ld: Unrecognized argument: +DD64
Above is just showing one of the modules that failed to build.
3.) Built in modules, I see the compiler cannot find the bit of information required to build _tkinter module. How do I make the configure able to locate my tcl/tk source code or binary which I have already installed and built separately (and successfully)? So, where do I place the source code if I need to put it so that the compiler can find?
To end my question, here is the outcome of my build. For build in modules, I just need my _tkinter running. For shared libraries, I think need most of them, those are the basic functions that my application calls.
Thanks in advance for your reply.
Python build finished, but the necessary bits to build these modules were not found:
_bsddb _curses _curses_panel
_sqlite3 _ssl _tkinter
bsddb185 bz2 dl
gdbm imageop linuxaudiodev
ossaudiodev readline spwd
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
Failed to build these modules:
_bisect _codecs_cn _codecs_hk
_codecs_iso2022 _codecs_jp _codecs_kr
_codecs_tw _collections _csv
_ctypes _ctypes_test _elementtree
_functools _heapq _hotshot
_io _json _locale
_lsprof _md5 _multibytecodec
_multiprocessing _random _sha
_socket _struct _testcapi
array audioop binascii
cmath cPickle crypt
cStringIO datetime dbm
fcntl future_builtins grp
itertools math mmap
nis operator parser
pyexpat resource select
strop syslog termios
More information about the Python-list