How to build Python 2.6.2 on HP-UX Itanium with thread support?

henning.vonbargen at arcor.de henning.vonbargen at arcor.de
Tue May 5 09:16:38 EDT 2009


Our program that makes use of cx_Oracle and multi-threading (and works
fine on Windows, Linux and other platforms, including HP-UX PA-RISC),
fails to run on HP-UX Itanium.
When trying to start the first daemon thread, the program raises an
exception:
...
  File "/usr/local/lib/python2.6/threading.py", line 471, in start
    _start_new_thread(self.__bootstrap, ())
error: can't start new thread

I guess there's something wrong with the way we built Python, but I
have absolutely no clue what (I'm not too familiar with HP-UX).
>From what I found in the internet, it's probably something about the
threading libraries at the C level.

So the question is:
Which steps are necessary to build Python 2.6.2 (32bit or 64bit) on HP-
UX Itanium 11.31 with working multi-threading support?

Note:
For whatever reasons, in order to get cx_Oracle 5.0.1 to work on HP-
UX, I have to build it as a built-in module. That's why I have to
build Python myself (and unfortunately there's no Python 2.6.2 binary
distribution for HP-UX itanium available). Everything works fine
except multi-threading.

Before running configure and make, I set up the environment like this:
export PATH=$PATH:/usr/local/bin
export CPPFLAGS=-I/opt/openssl/0.9.8/include
export LDFLAGS="-L/usr/lib/hpux32 -L/usr/local/lib/hpux32 -L/opt/
openssl/0.9.8/lib"

I have the files generated by configure and make available, but it's
too much to post it all, as as I don't know what is relevant and what
not.
So, here's just the first few lines of the config.log output:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by python configure 2.6, which was
generated by GNU Autoconf 2.61.  Invocation command line was

  $ ./configure --with-zlib --with-openssl

## --------- ##
## Platform. ##
## --------- ##

hostname = polref4
uname -m = ia64
uname -r = B.11.31
uname -s = HP-UX
uname -v = U



More information about the Python-list mailing list