Re: GCC 3.2 transition
>> Steve Langasek <vorlon@netexpress.net> writes:
> > A large majority of C++ packages depend on libstdc++*; the ones
> > that doesn't are probably libraries which have been linked using
> > cc instead of c++. For example libsigc++-1.1-5 and libgtkmm1.3-14
> > would pass unnoticed even if they are both C++ libraries. This
> > *might be* symptomatic of libtool libraries, counterexamples
> > appreciated. In this case you'd have to look for typical C++
> > symbols in the output of, say, objdump -T, e.g. __pure_virtual,
> > __dynamic_cast. In general you'd have to look for traces of C++
> > mangling.
>
> It should be easy enough to find all the C++ libraries that need to be
> recompiled.
Sure. I was talking about the libraries that /don't/ have dependencies
on libstdc++. libsigc++-1.1-5 and libgtkmm1.3-14 in my example both
use libstdc++ but they don't have a dependency on it. The only reason
why this has gone unnoticed is because you need to use a specific
version of the c++ in order to be able to use these libraries.
> Anything that's missed by this process is either a package that
> requires manual intervention to get it working with gcc 3.x, or a
> package that has no dependencies on any other C++ packages.
That's my point. You can't use the binaries for the libraries I
mentioned with any other version of c++ than the one used to compile
those binaries, yet there's no information in the library that suggest
it is actually a C++ library. Look:
$ readelf -d /usr/lib/libgtkmm-1.3.so.14 | grep NEEDED | tr -s ' '
0x00000001 (NEEDED) Shared library: [libsigc-1.1.so.5]
0x00000001 (NEEDED) Shared library: [libgtk-x11-2.0.so.0]
0x00000001 (NEEDED) Shared library: [libgdk-x11-2.0.so.0]
0x00000001 (NEEDED) Shared library: [libatk-1.0.so.0]
0x00000001 (NEEDED) Shared library: [libgdk_pixbuf-2.0.so.0]
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libpangoxft-1.0.so.0]
0x00000001 (NEEDED) Shared library: [libpangox-1.0.so.0]
0x00000001 (NEEDED) Shared library: [libpango-1.0.so.0]
0x00000001 (NEEDED) Shared library: [libgobject-2.0.so.0]
0x00000001 (NEEDED) Shared library: [libgmodule-2.0.so.0]
0x00000001 (NEEDED) Shared library: [libdl.so.2]
0x00000001 (NEEDED) Shared library: [libglib-2.0.so.0]
0x00000001 (NEEDED) Shared library: [libc.so.6]
--
Marcelo | They stared at them. Staring is one of the few things
mmagallo@debian.org | frogs are good at. Thinking isn't.
| -- (Terry Pratchett, Wings)
Reply to: