[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GCC 3.2 transition



On Sat, Aug 17, 2002 at 05:59:42PM +0200, Marcelo E. Magallon wrote:
> >> 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.

Are these libraries used by programs in our archive?  Then most of those
programs that depend on libsigc++ and libgtkmm will also depend on
libstdc++; so when you go to recompile the programs with gcc 3.2, you'll
find that the build fails because ld can't resolve (differently-mangled)
symbol names in the libsigc++ and libgtkmm libraries.

If there are no programs that use these libraries, or there are no
programs that link against both these libraries and libstdc++, then these
libraries do not have to be transitioned at the same time as the rest
of the C++-using apps.  The transition still has to be handled, it just
isn't critical that it happen all at once.

Steve Langasek
postmodern programmer

Attachment: pgpy4PPdkH3_S.pgp
Description: PGP signature


Reply to: