Re: [ROOT] Fw: GCC 2.96

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Fri Oct 06 2000 - 15:45:29 MEST


Indeed the 2.96 compiler is very buggy and if it does not segv itself, it
produces
numerical incorrect code with any optimization higher than -O. Porting ROOT
resulted
in compiler segv's in three files (and three bug reports to gcc-bugs). Two of
the
segv's happened with -O2 and disappeared with -O and one happened with -O but I
could work around it with some change in the code. So in the end I could compile
everything with -O. Compiling with -O2 (except for the two files that failed and
that were done with -O) resulted in an executable that produced so many errors
in double precision code that I did not even try to look in detail at the
problems.
Note that by default on Linux with egcs 1.1.x and gcc 2.95.2 we compile with -O2
and obtain correct results.

Another issue is that RH7.0 comes with a pre-release of glibc 2.2. This new
version
is not compatible with the previous glibc 2.1 and in some cases requires some
porting effort. Assuming that the data structures used by pre-glibc 2.2 stay the
same in glibc 2.2 this is not such a big issue as the bad compiler. One of the
incompatibilities I ran into was that the type fpos_t used by fgetpos(),
fsetpos()
is now a struct and not anymore an long, so code like:
   fpos_t oldpos, pos;
   ...
   if (oldpos == pos)
      ...
fails to compile.

Application providers are really screwed by RedHat. Of course people will
install
RH7.0 and of course they expect their apps to be available. And the app
providers have
to clean up the mess!

Everybody who wants RH7.0 for the new GUI features and other apps, should at
least
install 2.95.2 if they also want to run scientific codes.


Cheers, Fons.


"Matthew D. Langston" wrote:
> 
> This was just posted by the GCC Steering Committee.  It will be of
> particular interest to ROOT users and ROOT developers who run RedHat Linux.
> 
> In a nutshell, RedHat jumped the gun with their release of RedHat Linux 7.0
> by shipping a beta version of gcc which is not, nor will it ever be,
> compatible with either gcc 2.95.2 (the current production version of the GNU
> compiler suite) or gcc 3.0 (the next, but not yet released, production
> version of the GNU compiler suite).
> 
> You may want to think long and hard, and consider all of the implications,
> before upgrading to RedHat Linux 7.0.  It may be more prudent to wait for
> the release RedHat Linux 7.1 (provided that RedHat checks with the GCC
> Steering Committee first before shipping a beta version of the compiler).
> 
> Regards, Matt
> 
> ----- Original Message -----
> From: "Gerald Pfeifer" <pfeifer@dbai.tuwien.ac.at>
> To: <gcc-announce@gcc.gnu.org>
> Sent: Thursday, October 05, 2000 4:58 PM
> Subject: GCC 2.96
> 
> > It has come to our attention that some GNU/Linux distributions are
> > currently shipping with ``GCC 2.96''.
> >
> > We would like to point out that GCC 2.96 is not a formal GCC release nor
> > will there ever be such a release.  Rather, GCC 2.96 has been the code-
> > name for our development branch that will eventually become GCC 3.0.
> >
> > Current snapshots of GCC, and any version labeled 2.96, produce object
> > files that are not compatible with those produced by either GCC 2.95.2 or
> > the forthcoming GCC 3.0.  Therefore, programs built with these snapshots
> > will not be compatible with any official GCC release.  Actually, C and
> > Fortran code will probably be compatible, but code in other languages,
> > most notably C++ due to incompatibilities in symbol encoding
> (``mangling''),
> > the standard library and the application binary interface (ABI), is likely
> > to fail in some way.  Static linking against C++ libraries may make a
> > binary more portable, at the cost of increasing file size and memory use.
> >
> > To avoid any confusion, we have bumped the version of our current
> > development branch to GCC 2.97.
> >
> > Please note that both GCC 2.96 and 2.97 are development versions; we
> > do not recommend using them for production purposes.  Binaries built
> > using any version of GCC 2.96 or 2.97 will not be portable to systems
> > based on one of our regular releases.
> >
> > If you encounter a bug in a compiler labeled 2.96, we suggest you
> > contact whoever supplied the compiler as we can not support 2.96
> > versions that were not issued by the GCC team.
> >
> > Please see http://gcc.gnu.org/snapshots.html if you want to use our
> > latest snapshots.  We suggest you use 2.95.2 if you are uncertain.
> >
> > The GCC Steering Committee <http://gcc.gnu.org/steering.html>
> >

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7677910



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:34 MET