Crash due to mis-bind of a libstdc++ symbol
Mike Hearn
mike@navi.cx
Sun Apr 17 21:47:00 GMT 2005
On Sun, 2005-04-17 at 23:39 +0200, Paolo Carlini wrote:
> We didn't miss it ;) but the issue is hard to understand and we are
> missing way too many details. Therefore, first I would ask you to
> provide the output of a simple 'ldd' on the *spell libraries involved
> together with info on your software system, gnu/linux, I suppose,
> therefore binutils and glibc versions, etc. And, of course, any other
> info on the *spell libraries: where did you get the libraries from?
OK. This is all on a Fedora Core 3 system.
The *spell libs came from Fedora Core. The Inkscape package came from a
Gentoo-based nightly build system. I discovered this bug while testing
the Inkscape nightly autopackages, but it affects others like AbiWord as
well.
This bug would not normally surface, because the practise of recompiling
every program for every version of every distro means multi-ABI binaries
are virtually non-existent. Only now that we're doing large-scale
deployments of complex dynamically linked binaries via the autopackage
project has it appeared. I've been unable to find any prior references
to the problem on Google.
Here goes:
[mike@littlegreen ~]$ /lib/libc.so.6
GNU C Library stable release version 2.3.5, by Roland McGrath et al.
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.4.3 20050227 (Red Hat 3.4.3-22).
[mike@littlegreen ~]$ rpm -q binutils
binutils-2.15.92.0.2-5
[mike@littlegreen ~]$ ldd /usr/lib/libaspell.so.15
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0092a000)
libm.so.6 => /lib/tls/libm.so.6 (0x00b3e000)
libc.so.6 => /lib/tls/libc.so.6 (0x00d9a000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00920000)
/lib/ld-linux.so.2 (0x0068d000)
[mike@littlegreen ~]$ needed /usr/lib/libaspell.so.15
NEEDED libstdc++.so.6
NEEDED libm.so.6
NEEDED libc.so.6
NEEDED libgcc_s.so.1
[mike@littlegreen ~]$ ldd /usr/lib/libgtkspell.so.0
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00710000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00111000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00546000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00dba000)
libm.so.6 => /lib/tls/libm.so.6 (0x00dd1000)
libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x00562000)
libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x00539000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x001b4000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x001ea000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x0017d000)
libdl.so.2 => /lib/libdl.so.2 (0x002c0000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00226000)
libaspell.so.15 => /usr/lib/libaspell.so.15 (0x00588000)
libc.so.6 => /lib/tls/libc.so.6 (0x002c4000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00b81000)
libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x00180000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x00183000)
libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0x0018b000)
libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x004fa000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x003ee000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x0018e000)
libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x002b1000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x00d90000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x004c7000)
/lib/ld-linux.so.2 (0x00f58000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00455000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0062a000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x002a1000)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0x0047b000)
libz.so.1 => /usr/lib/libz.so.1 (0x00d6b000)
[mike@littlegreen ~]$ needed /usr/lib/libgtkspell.so.0
NEEDED libgtk-x11-2.0.so.0
NEEDED libgdk-x11-2.0.so.0
NEEDED libatk-1.0.so.0
NEEDED libgdk_pixbuf-2.0.so.0
NEEDED libm.so.6
NEEDED libpangoxft-1.0.so.0
NEEDED libpangox-1.0.so.0
NEEDED libpango-1.0.so.0
NEEDED libgobject-2.0.so.0
NEEDED libgmodule-2.0.so.0
NEEDED libdl.so.2
NEEDED libglib-2.0.so.0
NEEDED libaspell.so.15
NEEDED libc.so.6
[mike@littlegreen ~]$ ldd /usr/local/bin/inkscape.stripped
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00864000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x0082e000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00737000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x03097000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00111000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x003c6000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00546000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00680000)
libpng.so.3 => /usr/lib/libpng.so.3 (0x032ee000)
libpopt.so.0 => /usr/lib/libpopt.so.0 (0x00569000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00dca000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00432000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00458000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x008c1000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00dc5000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00570000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x004d8000)
libz.so.1 => /usr/lib/libz.so.1 (0x00d6b000)
libdl.so.2 => /lib/libdl.so.2 (0x00edd000)
libm.so.6 => /lib/tls/libm.so.6 (0x00f06000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00920000)
libc.so.6 => /lib/tls/libc.so.6 (0x00b87000)
/lib/ld-linux.so.2 (0x004c0000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00928000)
libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x00562000)
libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x0048e000)
libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x00b1f000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x00d54000)
libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0x00499000)
libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x0049c000)
libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x004ae000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x004b7000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x00a3d000)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0x005eb000)
[mike@littlegreen ~]$ needed /usr/local/bin/inkscape.stripped
NEEDED libpthread.so.0
NEEDED libgthread-2.0.so.0
NEEDED libxml2.so.2
NEEDED libstdc++.so.5
NEEDED libgtk-x11-2.0.so.0
NEEDED libgdk-x11-2.0.so.0
NEEDED libatk-1.0.so.0
NEEDED libgdk_pixbuf-2.0.so.0
NEEDED libpng.so.3
NEEDED libpopt.so.0
NEEDED libfontconfig.so.1
NEEDED libpangoft2-1.0.so.0
NEEDED libpango-1.0.so.0
NEEDED libgobject-2.0.so.0
NEEDED libgmodule-2.0.so.0
NEEDED libglib-2.0.so.0
NEEDED libfreetype.so.6
NEEDED libz.so.1
NEEDED libdl.so.2
NEEDED libm.so.6
NEEDED libgcc_s.so.1
NEEDED libc.so.6
Let me know if there is anything else needed.
thanks -mike
More information about the Libstdc++
mailing list