Sorry for mangling the order, makes the mail easier to read.
BTW, once you get all this figured out it would be great to have a patch
for the build instructions that describes the problems and workarounds
for Solaris.
I'd be glad to provide a patch of the instructions (and any
other modifications I make) along the way.
David Morris wrote:
>
>>>>from wxPython import wx
>
>Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "/usr/local/python/2.3/lib/python2.3/site-packages/wxPython/wx.py",
> line
>+2, in ?
> import wxc
>ImportError: ld.so.1: python: fatal: relocation error: file
>+/usr/local/python/2.3/lib/python2.3/site-packages/wxPython/wxc.so: symbol
>+__eprintf: referenced symbol not found
>
>------------------------------------------------------
>
>OS: Solaris 8
>Python: 2.3
>wxPython: 2.4.1.2
>wxGTK: (built-in)
>
>Standard build instructions, though without --enable-rpath
>in order to get wxPython to compile. (As per Robin Dunn)
Probably an additional library needs to be added to the link step in the
build so it will get loaded at runtime. Can you figure out what lib
__eprintf is located in?
More info, uncertain of how to implement the fix:
A bit of digging found that this is caused by solaris ld
being used (/usr/ccs/bin/ld) instead of gcc ld. solaris ld
does not link in libgcc.a (which is vital to gcc apps!).
The fix is to add this to the link step of all shared
libraries:
-L<path-to-gcc-lib> -lgcc
On my system, this is:
-L/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1 -lgcc
As the build does use 'c++ -shared' (I checked the actual command it
used), this means the wrong ld is being found/used on the
system. I'm still working on if there is a way to convince
it to find the "correct" version of ld.
In the meantime, is there an easy way to add the above
workaround to the build script?
--David
···
On Thu, Sep 11, 2003 at 11:39:30AM -0700, Robin Dunn wrote: