[vtkusers] vtkpython:Linux SMP:SIGSEGV upon import vtk

donna at v1.wustl.edu donna at v1.wustl.edu
Thu Mar 6 15:52:19 EST 2003


Hi Brent,

Building my application from scratch isn't practical for most users, so
I try to make my binaries work for everyone.  I build Linux on ancient
RedHat 6.1 to keep users running old Linux from seeing these runtime
errors:

python: /lib/libc.so.6: version `GLIBC_2.3' not found (required by
/myapp/bin/python)

I don't want users to have to update their OS/libraries to run my
application.

Most Linux users can run my RedHat binaries, though they might run
Caldera, SuSE, etc.  The user running SuSE SMP was an exception.  Last
week, I built gcc 3.2.2 on my RedHat 6.1 build host.  (Upgrading to
binutils-2.9.5.0.22-6 got me past an error in
i686-pc-linux-gnu/libiberty/config.log: /usr/bin/ld: conftest: Not
enough room for program headers.)  Using gcc 3.2.2, I built Python-2.1.3
+ VTK cvs as of 10/5/2002, and the user's SuSE SMP host ran python and
imported the vtk libraries just fine.  And it doesn't
"crash-on-vtk-write" like gcc 3.0.4 does.

For the sake of future poor souls searching the archives, let me
clarify:  gcc 3.0.4 + python 2.1.3 + vtk 10/5/2002 -> core dump upon vtk
write.  The crash occurs with builds on RedHat 6.1 and 7.1:

cone = vtkConeSource()
writer = vtkPolyDataWriter () 
writer.SetInput (cone.GetOutput ())
writer.SetFileName ("/tmp/cone.vtk") 
writer.Write ()

Python crashes when vtkDataWriter.cxx tries to do:

	*fp << "POINTS " << numPts << " ";

I got away with running vtkpython on RedHat 6.1 and 7.1, but I ran into
the dlerror problems loading these libraries into vtkpython on SuSE
SMP.  Upgrading to gcc 3.2 and using python -- not vtkpython -- seems to
work for all Linux versions I've tried so far.

So for now, I am getting away with running my RedHat 6.1 libstdc++.so on
SuSE 7.1 SMP.

Donna

Brent Goodrick wrote:
> donna> /usr/local/src/gcc3.2.2/srcdir/libstdc++-v3/libsupc++/eh_personality.cc:456
> donna> #8  0x41eaf69a in locale (this=0x0) at localefwd.h:298
> donna> #9  0x41ec76d7 in basic_filebuf (this=0x41f263c0) at streambuf:350
> donna> #10 0x41ec6ca2 in stdio_filebuf (this=0x41f263c0, __f=0x0, __mode=16,
>                          ^^^^^^^^^^^^^
> I'm not surprised to see stream I/O is choking here.  Your poor lil'
> Linux boxes can't keep track of the incompatible libc++.so's
> you are feeding it.
> 
> donna> I don't think the SuSE system likes my libstdc++ that I copied from my
> donna> build client.
> 
> Yep.  SuSE_version_X != Red_Hat_version_Y, especially for C++ binaries.
> 
> donna> Logistical constraints kept me from trying this sooner, but it's time to
> donna> bite the bullet.
> 
> Yes, I know.  libstdc++.so is often different between versions of the
> same species of Linux, and I would guess also between, say, SuSE and
> Red Hat.



More information about the vtkusers mailing list