[SciPy-dev] weave errors with python/gcc-3.0.3 and scipy/gcc-2.95.3

eric eric at scipy.org
Mon Apr 8 10:03:49 CDT 2002


>
> Hi Eric,
>
> Here is my setup:
>
> Python 2.2 (#7, Jan 28 2002, 13:08:12)
> [GCC 3.0.3] on linux2
>
> gcc version 2.95.3 20010315 (release)
>
> and I get the following type of  messages:
>
> ======================================================================
> ERROR: check_file_to_py (test_common_spec.test_file_converter)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File
>
"/home/peterson/opt/lib/python2.2/site-packages/scipy/weave/tests/test_common_sp
ec.py",
> line 32, in check_file_to_py
>     file = inline_tools.inline(code,['file_name'])
>   File
> "/home/peterson/opt/lib/python2.2/site-packages/scipy/weave/inline_tools.py",
> line 327, in inline
>     auto_downcast = auto_downcast,
>   File
> "/home/peterson/opt/lib/python2.2/site-packages/scipy/weave/inline_tools.py",
> line 432, in compile_function
>     exec 'import ' + module_name
>   File "<string>", line 1, in ?
> ImportError: undefined symbol: __gxx_personality_v0
>

???.  Never seen anything like this before.  Is that symbol defined in
libpython.a?  If so, then I'm betting it came from 3.0.3, and the 2.95.3
compiler is not picking up the correct library.

Have you  tried building another extension (say something from scipy) with
2.95.3?  If that works with your gcc 3.x python, then we'll have to start
looking through weave.  It could also have something to do with g++ vs. gcc
issues in the 2.x to 3.x transition.  I don't think it is a python22 issue.

It is starting to look like the gcc 2.x to gcc 3.x transition is a big can of
worms for building extensions on the fly...  We may have to start detecting the
type of compiler Python was built with.  Distutils is *supposed* to do this, but
looking at make files can't detect when Pearu changes gcc out from under it. ;-)

eric






More information about the Scipy-dev mailing list