[wxPython] RE: [SciPy-dev] Announce: First installable version of Chaco plotting toolkit is now available

Robin Dunn robin at alldunn.com
Mon Sep 23 15:09:30 CDT 2002

Skip Montanaro wrote:
>     Skip> I poked around for "__ti7wxEvent".  All I found were a couple undefined
>     Skip> references:
>     Skip> ./wxPython/build/temp.linux-i686-2.3/helpers.o
>     Skip> U __ti7wxEvent
>     Skip> ./wxPython/build/temp.linux-i686-2.3/dynamicsash.o
>     Skip> U __ti7wxEvent
>     Robin> I've just tried exactly what you did above on my Mandrake 8.2
>     Robin> system with Python 2.2 and it works fine.
> What file defines wxEvent?  You must surely have a .o file which defines it
> as an exportable symbol.

It should be in wxGTK in src/common/event.cpp (build/event.o).

>     Robin> One possibility -- since the wxPython build gets its compiler
>     Robin> flags and etc. from Python's build via distutils -- is that there
>     Robin> is some flag conflicting with wxGTK's build that has changed with
>     Robin> Python 2.3.  I'd be interested in seeing a copy of a compile
>     Robin> commandline for one of the sources from the wxGTK build and
>     Robin> another one from the wxPython build.
> An example from (wxPython's internal) wxGTK with the no_rtti and
> no_exceptions flags set:

These look okay.

>     Robin> Another possibility is that it may be fixed simply by disabling
>     Robin> rtti and/or exceptions in the wxGTK build.  You can try adding
>     Robin> the following flags and then rebuilding all of wxGTK and
>     Robin> wxPython:
>     Robin>      --enable-no_rtti
>     Robin>      --enable-no_exceptions
> Just tried that.  Running wxPython/demo/demo.py now yields:
>     Traceback (most recent call last):
>       File "demo.py", line 3, in ?
>         import Main
>       File "Main.py", line 15, in ?
>         from   wxPython.wx import *
>       File "/usr/local/lib/python2.3/site-packages/wxPython/__init__.py", line 20, in ?
>         import wxc
>     ImportError: /usr/local/lib/python2.3/site-packages/wxPython/wxc.so:
>     undefined symbol: Eof__C13wxInputStream
> which c++filt reports as
>     wxInputStream::Eof(void) const
> The original __ti7wxEvent symbol is no longer to be found anywhere (defined
> or referenced).  

Right, it shouldn't be since you built without RTTI.

> Eof__C13wxInputStream is referenced from
> ./wxPython/build/temp.linux-i686-2.3/helpers.o. 

I don't see anyway that a whole method could get lost...

> Ah, wait a minute.  I see a likely candidate for the screwup:
>     % type c++
>     c++ is /usr/local/bin/c++
>     % c++ --version
>     3.0.4
>     % type gcc
>     gcc is /usr/bin/gcc
>     % gcc --version
>     2.96
> Does mix-n-match across GCC versions strike you as a plausible reason for
> the errors?  

...except for this.  It's likely that the C++ symbol names are getting 
mangled differently by the different compiler versions and the one 
symbol reported by the import exception is just the first one found.

Robin Dunn
Software Craftsman
http://wxPython.org  Java give you jitters?  Relax with wxPython!

More information about the Scipy-dev mailing list