[Python-Dev] Linux Python linking with G++? (original) (raw)

Ulrich Berning ulrich.berning at t-online.de
Sun Jul 10 00:57:32 CEST 2005


David Abrahams schrieb:

Ulrich Berning <ulrich.berning at t-online.de> writes:

If you build C++ extensions on HP-UX with aCC, Python must be compiled and linked as a C++ program. This is documented.

You mean dynamically loaded C++ extensions, or the kind that are linked into the Python executable? Dynamically loaded extensions, especially SIP/PyQt (http://www.riverbankcomputing.co.uk).

I'm willing to believe almost anything about HP-UX. Until recently, aCC was so broken as a C++ compiler that there was little point in trying to get Boost.Python to work on it, and I don't have much data for that system.

I'm using the HP aC++ Compiler C.03.50 together with the patches PHSS_29483 and PHSS_30967 on HP-UX B.11.00 and had no problems to build Python (2.3.5), Qt, SIP and PyQt and all other extensions with it.

It will not work if Python is compiled and linked as a normal C program (I have tried it).

Even if you take out the use of C++ constructs in ccpython.cc? I just need to check all the obvious angles. What do you mean? The only C++ construct in ccpython.cc is the extern "C" declaration of Py_Main() and this is necessary if a C++ program references symbols from a C library. HP says, that a C++ shared library or a C++ shared object can only be loaded by a C++ main program. I can't remember the error message/symptoms, but I tried to build Python using python.c and couldn't load any C++ extensions. Because I'm going on vacation for the next three weeks, I can't try anything on HP-UX at the moment.



More information about the Python-Dev mailing list