[issue12991] Python 64-bit build on HP Itanium - Executable built successfully but modules failed with HP Compiler

Wong Wah Meng report at bugs.python.org
Fri Sep 16 13:43:00 CEST 2011

New submission from Wong Wah Meng <wahmeng at freescale.com>:

Server Info: HP-UX B.11.31 Itanium ia64.
Evaluation copy is used however the license is being purchased, hopefully this are not these errors are not caused by evaluation copy.
# 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 

I encountered more failures in module build with my HP-UX ANSI C Compiler versus gcc. I wonder why. I need a Oracle plug-in later, i.e. cx_Oracle and the reason I do not want to ignore these errors now because I thought cx_Oracle will have to (or, better) be built using HP compiler, not gcc for support from Oracle. 

I read through the README file, I followed the instruction to set the required environment variables before the configure is run, and unset them before make is run, also edited Makefile to remove Optimization and the -Olimit 1500. However, it gives me a lot more modules that are failed to be built versus 2 when gcc is used. At the bottom of the mail we can see what failed to be built. 

I have summarized my inquiry as follow:-
1.) Despite following the instruction to edit the Makefile before make is run, I am surprise to see that the Makefile content is changed again when the executable is generated. The changed I edited is restored. Is this expected and did the compiler make use of the content that I edited when it did the build and link? 

$ diff Makefile Makefile_Original
< OPT=          -DNDEBUG -O
< BASECFLAGS=   +DD64 -Olimit 1500
> OPT=          -DNDEBUG
2.) A lot of failed module and I suspected it is due +DD64 nopt recognized by the compiler. Why the HP-UX compiler did not recognize the option? 

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
Fatal error.

3.) This is a general question, in the README file there isn't specific instruction on how to enable gcc for 64-bit build. Does gcc support 64-bit build and how to?

4.) These are warning message. I have seen a lot of them. Am I right I can ignore them? I don't see them when I use gcc though. 

        cc -Ae -c +DD64 -g -DNDEBUG  -I. -IInclude -I./Include   -DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c
"Include/pyfpe.h", line 8: warning #3750-D: "\" followed by white space is not a line splice

Thanks in advance for your input. Here is the output of my make using HP C compiler. 
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            
sunaudiodev        zlib                               
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         
time               unicodedata                        

running build_scripts

components: Build
messages: 144123
nosy: wah meng
priority: normal
severity: normal
status: open
title: Python 64-bit build on HP Itanium - Executable built successfully but modules failed with HP Compiler
type: compile error
versions: Python 2.7

Python tracker <report at bugs.python.org>

More information about the Python-bugs-list mailing list