64-bit Python 2.3.latest on HP-UX 11.23: success

Jhy-Chun Wang wangjc101 at yahoo.com
Wed Sep 29 23:07:37 EDT 2004


Matej,

Could you send me the Makefile and pyconfig.h you used for 64bit build? 
although I will be trying it on Solaris, anything related to 64bit build 
helps.

Thanks,

Jhychun Wang
wangjc101 at yahoo.com


Matej Kenda wrote:
> Hi all,
> 
> This message is to let you know that I have successfully compiled the latest
> sources from the 2.3 branch on the abovementioned OS using the HP ansiC
> compiler version 5.50.
> 
> Final status: success, it works fine
> 
> ---
> 
> The procedure:
> 
> 1. Get the latest sources of 2.3
> 
> cvs -z3 -d:pserver:anonymous at cvs.sourceforge.net:/cvsroot/python co -r \
> release23-maint python 
> 
> 2. Install the 64-bit OpenSSH downloaded from HP
> 
> 3. Run configure script with additional CFLAGS
> 
> export CFLAGS="-Ae +DD64 -mt -O0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> "
> ./configure --prefix=/usr/local/aCCPython
> 
> 
> 4. Edit Makefile to add support for 64-bit compilation and turn off
> optimisation.
> 
> I got the hint to remove the optimisation in the README file. I didn't try
> to turn the optimisation on, but it may work with the recent ansiC
> compiler.
> 
> Diff between the generated Makefile and modified one:
> 
>  # Compiler options
> -OPT=           -DNDEBUG -O
> -BASECFLAGS=
> +OPT=           -O0
> +BASECFLAGS=    +DD64 -mt
>  CFLAGS=                $(BASECFLAGS) $(OPT)
> -CPPFLAGS=      -I. -I$(srcdir)/Include
> -LDFLAGS=
> +CPPFLAGS=      -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I.
> -I$(srcdir)/Include
> +LDFLAGS=       +DD64 -mt
> -LINKFORSHARED= -Wl,-E -Wl,+s
> +LINKFORSHARED= -Wl,-E -Wl,-s +DD64
>  # Extra C flags added for building the interpreter object files.
> -CFLAGSFORSHARED=
> +CFLAGSFORSHARED= +z
> 
> 5. Edit the pyconfig.h file to enable posix threads
> 
> 6. Edit the setup.py to avoid using installed 32-bit libraries
> 
> Index: setup.py
> ===================================================================
> RCS file: /cvsroot/python/python/dist/src/setup.py,v
> retrieving revision 1.171.6.2
> diff -u -r1.171.6.2 setup.py
> --- setup.py    21 Oct 2003 20:01:21 -0000      1.171.6.2
> +++ setup.py    24 Sep 2004 08:16:24 -0000
> @@ -591,7 +591,8 @@
> 
>          # The standard Unix dbm module:
>          if platform not in ['cygwin']:
> -            if find_file("ndbm.h", inc_dirs, []) is not None:
> +#            if find_file("ndbm.h", inc_dirs, []) is not None:
> +            if None is not None:
>                  # Some systems have -lndbm, others don't
>                  if self.compiler.find_library_file(lib_dirs, 'ndbm'):
>                      ndbm_libs = ['ndbm']
> @@ -698,7 +699,8 @@
>          #
>          # You can upgrade zlib to version 1.1.4 yourself by going to
>          # http://www.gzip.org/zlib/
> -        zlib_inc = find_file('zlib.h', [], inc_dirs)
> +#        zlib_inc = find_file('zlib.h', [], inc_dirs)
> +        zlib_inc = None
>          if zlib_inc is not None:
>              zlib_h = zlib_inc[0] + '/zlib.h'
>              version = '"0.0.0"'
> 
> 
> 7. run gmake all install
> 
> ---
> 
> Issues:
> 
> 1. The following line makes a lot of warnings when compiling, because it
> looks like the HP compiler already sets this:
> 
> /* Define to activate features from IEEE Stds 1003.1-2001 */
> #define _POSIX_C_SOURCE 200112L
> 
> 2. Shared library extensions for modules
> 
> The ELF libraries on HP-UX should have the extension .so. I tries to change
> the library extension from .sl to .so. However, the install scrips searched
> for files with the .sl extension anyway. I didn't dig deep to solve this
> issue, because the library extensions aren't that important for me at this
> point.
> 
> ---
> 
> I can send the Makefile and the pyconfig.h that I used to compile
> the Python to anyone interested.
> 
> 
> Best regards,
> 
> Matej
> 
> --
> Matej Kenda, HERMES SoftLab d.d., Slovenia




More information about the Python-list mailing list