Need help porting a C++ / Python Embedded app to multiple platforms

jpw johnwalker3301 at comcast.net
Tue Feb 5 18:30:28 CET 2008


I am writing a Python / C++ embed app and it need to work on 3
platforms

I have the PYTHONPATH variable set correctly and have gone back and
downloaded compiled and installed the latest Python 2.5.1  on Solaris
and Linux. adding in the --enable-shared when running the ./
configure ... file

Mac - good to go there was no need do anything except update to 2.5
and add the PYTHONPATH

Solaris 10 -
Linux - Errors occur in the same point at runtime as soon as I try to
do load a module
The load module code is as follows:

PyObject* name = PyString_FromString(moduleName.c_str());
PyObject* mModule = PyImport_Import(name);
Py_DECREF(name);

if (mModule == 0)
{
    std::ostringstream oss;
    oss << "Failed to load module <" << moduleName << ">";
    throw PythonException(oss.str());
}


both errors indicate a problem with libc.so

LINUX error stacktrace:

terminate called after throwing an instance of

'PythonWrapper::PythonException'
  what():  N13PythonWrapper15PythonExceptionE

Program received signal SIGABRT, Aborted.
[Switching to Thread 1161832800 (LWP 16508)]
0x00000033f332e21d in raise () from /lib64/tls/libc.so.6
(gdb) where
#0  0x00000033f332e21d in raise () from /lib64/tls/libc.so.6
#1  0x00000033f332fa1e in abort () from /lib64/tls/libc.so.6
#2  0x0000002a96360a20 in __gnu_cxx::__verbose_terminate_handler ()
    at ../../../../gcc-4.0.4/libstdc++-v3/libsupc++/vterminate.cc:97
#3  0x0000002a9635ea66 in __cxxabiv1::__terminate (handler=0x405f)
    at ../../../../gcc-4.0.4/libstdc++-v3/libsupc++/eh_terminate.cc:43
#4  0x0000002a9635ea93 in std::terminate ()
    at ../../../../gcc-4.0.4/libstdc++-v3/libsupc++/eh_terminate.cc:53
#5  0x0000002a9635eb7a in __cxa_throw (obj=<value optimized out>,
    tinfo=<value optimized out>, dest=<value optimized out>)
    at ../../../../gcc-4.0.4/libstdc++-v3/libsupc++/eh_throw.cc:77
#6  0x00000000005bb73d in PythonWrapper::Python::loadModule
(this=0x94f080,
    moduleName=@0x45401f90) at PythonWrapper.C:425


SOLARIS call stack:

Program received signal SIGABRT, Aborted.
[Switching to LWP 12]
0xfe7412a4 in _lwp_kill () from /usr/lib/libc.so.1
(gdb) where
#0  0xfe7412a4 in _lwp_kill () from /usr/lib/libc.so.1
#1  0xfe6dfe20 in raise () from /usr/lib/libc.so.1
#2  0xfe6c0040 in abort () from /usr/lib/libc.so.1
#3  0xfe92e64c in __gnu_cxx::__verbose_terminate_handler ()
    at ../../../../gcc-4.0.4/libstdc++-v3/libsupc++/vterminate.cc:97
#4  0xfe92bfd8 in __cxxabiv1::__terminate (
    handler=0xfe92e438 <__gnu_cxx::__verbose_terminate_handler()>)
    at ../../../../gcc-4.0.4/libstdc++-v3/libsupc++/eh_terminate.cc:43
#5  0xfe92c028 in std::terminate ()
    at ../../../../gcc-4.0.4/libstdc++-v3/libsupc++/eh_terminate.cc:53
#6  0xfe92c18c in __cxa_throw (obj=<value optimized out>,
tinfo=0x3a3568,
    dest=0x272e6c <~PythonException>)
    at ../../../../gcc-4.0.4/libstdc++-v3/libsupc++/eh_throw.cc:77
#7  0x0027422c in PythonWrapper::Python::loadModule (this=0x46bc48,
    moduleName=@0xf5cffb10) at PythonWrapper.C:425

Any help would be greatly appreciated, jpw



More information about the Python-list mailing list