[3918] in Release_7.7_team

home help back first fref pref prev next nref lref last post

Re: keeping gcc 2.95 around

daemon@ATHENA.MIT.EDU (Derek Atkins)
Tue Jul 8 22:07:57 2003

To: Alex T Prengel <alexp@MIT.EDU>
Cc: gnu@MIT.EDU, alexp@MIT.EDU, release-team@MIT.EDU
From: Derek Atkins <warlord@MIT.EDU>
Date: 08 Jul 2003 22:07:54 -0400
In-Reply-To: <200307082128.h68LSCmT015523@dit.mit.edu>
Message-ID: <sjmd6gkxxj9.fsf@kikki.mit.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii

The problem is with the C++ ABI -- gcc changed it.  The problem is not
with C code, however C++ code compiled with gcc-2.9x requires ALL the
C++ code to be compiled with C++.  However, this includes libstdc++
and all ancillary libraries.  I find it extremely unlikely that
any C++ program compiled on Athena-9.1 will work on Athena-9.2 on
either platform, due to the dependency and library ABI issues.

So, keeping gcc-2.9x around is probably not a reasonable long-term
goal, but keeping it around for a year or so might be reasonable.

How many third-party C++ development libraries do we have?

-derek

PS: I should note that there were 4 C++ ABI changes.  2.9x <-> 3.0 <->
3.1 <-> 3.2.  This means you need to match compilers for C++ libraries
completely.  Now that 9.2 is using gcc-3.2, I hope that this ABI issue
will go away.

PPS: We could always create a gcc-2.9x locker for the "old" gcc code...

Alex T Prengel <alexp@MIT.EDU> writes:

> I've run into a number of instances, both on Sun and Linux, and particularly
> in C++ code, where libraries built with gcc/g++ 2.95 or older won't link
> against binaries or other libraries built with newer gcc/g++ 3.x versions-
> typically there are many compiler errors complaining about undefined symbols.
> 
> In the cases I've run into, rebuilding everything from source with the
> newest gcc/g++ 3.x makes the problem go away. But this sure is painful
> to users and not always posssible if source is not available.
> 
> I don't know what upgrade plans there are for gcc/g++ in the gnu locker, but
> given these issues could we keep 2.95 around, either by putting it in a
> locker called something like gnu-old, gcc-2.95 or whatever, or saving a
> copy in the existing locker and calling it something like gcc-2.95?
> 
> This gets a bit beyond my depth- but if there's another way to deal with
> this with something like extra "glue" compatibility libraries such that
> linking again them too would supply the undefined symbols to make the
> new compilers happy, that would be fine with me- I don't know if that's
> doable or not.
> 
>                                           Alex
> 
> 
> 
> 

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord@MIT.EDU                        PGP key available

home help back first fref pref prev next nref lref last post