Gcc version in Distros

See http://www.distrowatch.com/

Redhat 7.4 and Mandrake 9.0 will both feature gcc-3.2. Thank goodness
for it, too. The C++ compiler on gcc-2.9x is broken, and I don’t think
that will ever change. The sooner we can say good rittance to gcc 2x,
the better, IMHO.

Cheers,
Curtis

  * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*   Curtis S. Cooper, Graduate Research Assistant         *
  • Lunar and Planetary Laboratory, University of Arizona *
  • http://www.lpl.arizona.edu/~curtis *
  • Kuiper Space Sciences, Rm. 318 *
  • 1629 E. University Blvd., *
  • Tucson, AZ 85721 * * * * * * * * * * * * * * *
  • Wk: (520) 621-1471 *

Redhat 7.4 and Mandrake 9.0 will both feature gcc-3.2. Thank goodness
for it, too. The C++ compiler on gcc-2.9x is broken, and I don’t think
that will ever change. The sooner we can say good rittance to gcc 2x,
the better, IMHO.

All of the Loki Software games were compiled with gcc 2.95.2, for the
record. With the exception of Quake 3 Arena, they were all C++.

Serious Sam, MOH:AA, and Unreal Tournament 2003 are all compiled with
2.95.3 (ut2003 exposes a template bug in 2.95.2).

I’ve had considerably less luck with the code generator in gcc 3.x,
personally, but those bugs aren’t going to get fixed until the compiler is
in wide use (even if that requires it to be forced on the masses through
distro upgrades), so Red Hat and Mandrake’s move is arguably wise…and
probably less of a hassle than when we used to package gcc and EGCS into
the distros, since some code built right with one, and the rest with the
other.

Remember that the C++ ABI is incompatible between gcc 2.95.* and gcc 3.*
when upgrading, and this may affect your existing libraries…notably, C++
wrappers to SDL and such.

–ryan.

El Wed, 28 Aug 2002 09:10:57 -0700 (MST)
Curtis Cooper escribi?:

See http://www.distrowatch.com/

Redhat 7.4 and Mandrake 9.0 will both feature gcc-3.2. Thank goodness
for it, too. The C++ compiler on gcc-2.9x is broken, and I don’t think
that will ever change. The sooner we can say good rittance to gcc 2x,
the better, IMHO.

You surely are referring to 2.96 unofficial version, which is shipped with
every RedHat 7.xx and (apparently) several Mandrake distros.

2.96 is a widely known buggy version and one should not use such a beast for
any production software. The C++ compiler is specially broken, BTW.

3.2 is going better and better but it still lacks some stability. It’s
currently recommended for stress testing C++ features not supported by the 2.95
series only, and always double-check the results.

2.95.3 is still the best GCC compiler, if you can live without fully C++ ANSI
standard compliance.

Regards,
Wizord.

Actually GCC 3.2 is already recommended for compiling kernel on
some of the platforms. There is no known problems with compiling it on
i386. In the matter of fact, more and more kernel developers are using it.
Anyway, in the related news, Debian is switching to GCC 3.2 too:
http://www.debian.org/News/weekly/current/issue/On Thu, 29 Aug 2002, Jos? Luis S?nchez wrote:

El Wed, 28 Aug 2002 09:10:57 -0700 (MST)
Curtis Cooper escribi?:

See http://www.distrowatch.com/

Redhat 7.4 and Mandrake 9.0 will both feature gcc-3.2. Thank goodness
for it, too. The C++ compiler on gcc-2.9x is broken, and I don’t think
that will ever change. The sooner we can say good rittance to gcc 2x,
the better, IMHO.

You surely are referring to 2.96 unofficial version, which is shipped with
every RedHat 7.xx and (apparently) several Mandrake distros.

2.96 is a widely known buggy version and one should not use such a beast for
any production software. The C++ compiler is specially broken, BTW.

3.2 is going better and better but it still lacks some stability. It’s
currently recommended for stress testing C++ features not supported by the 2.95
series only, and always double-check the results.

2.95.3 is still the best GCC compiler, if you can live without fully C++ ANSI
standard compliance.

Regards,
Wizord.


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

2.96 is a widely known buggy version and one should not use such a beast for
any production software. The C++ compiler is specially broken, BTW.

In what ways is it broken? I have used the version in Mandrake 8.0 for
around 18 months and have not encountered any problems. My use of it has
included developing a moderate-sized GUI application for map-drawing.

Thanks,
Nick

I’ve seen several bugs with it… It does handle templates a bit better
than 2.95.x, but I’ve seen it generate bad code on several occasions.

Most recently I had it optimize out code that was supposed to initilize
one of my variables… causing all sorts of havoc.

-Loren

(I upgraded to 3.1.1 and the problem went away)On Thu, 2002-08-29 at 11:19, Nick Whitelegg wrote:

2.96 is a widely known buggy version and one should not use such a beast for
any production software. The C++ compiler is specially broken, BTW.

In what ways is it broken? I have used the version in Mandrake 8.0 for
around 18 months and have not encountered any problems. My use of it has
included developing a moderate-sized GUI application for map-drawing.

Thanks,
Nick


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

GCC 2.96 was not released by the GCC development team. It is a bastardized
version pulled out of gcc cvs by redhat, and is considered unstable. The GCC
Development team says do not use this version because it has several bugs,
and the only way to fix those bugs is to upgrade to gcc 3.x. Now, if you wish
to continue using it, that is your own problem. But be advised that many peices
of software will either specifically check for 2.96 and fail, fail to compile,
or fail to run. And yes, 2.96’s c++ is even more broken than 2.95.3.On 29-Aug-2002, Nick Whitelegg wrote:

2.96 is a widely known buggy version and one should not use such a beast for
any production software. The C++ compiler is specially broken, BTW.

In what ways is it broken? I have used the version in Mandrake 8.0 for
around 18 months and have not encountered any problems. My use of it has
included developing a moderate-sized GUI application for map-drawing.

Thanks,
Nick


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


Patrick “Diablo-D3” McFarland || unknown at panax.com
"Computer games don’t affect kids; I mean if Pac-Man affected us as kids, we’d
all be running around in darkened rooms, munching magic pills and listening to
repetitive electronic music." --Kristian Wilson, Nintendo, Inc, 1989

GCC 2.96 was not released by the GCC development team. It is a
bastardized version pulled out of gcc cvs by redhat, and is considered
unstable. The GCC Development team says do not use this version because it
has several bugs,

That’s only half the story. Consider that Red Hat owns Cygnus, who do a lot
of the actual work on gcc. The initial release did have some problems, but
later patches cleared most of them up. Many of the things that people accuse
gcc 2.96 of causing are actually problems in their own code. Especially in
the case of mplayer.

and the only way to fix those bugs is to upgrade to gcc 3.x. Now, if you
wish to continue using it, that is your own problem. But be advised that
many peices of software will either specifically check for 2.96 and fail,
fail to compile, or fail to run. And yes, 2.96’s c++ is even more broken
than 2.95.3.

Depends heavily on your definition of “broken”. There are some things that
2.95 can’t do at all, which is why Red Hat needed the new version for their
7.x release.On Thu, Aug 29, 2002 at 07:09:47PM -0400, Patrick McFarland wrote:


Matthew Miller @Matthew_Miller http://www.mattdm.org/
Boston University Linux ------> http://linux.bu.edu/

I recently had a bit of a headache with it. I was developing my game with gcc
2.96 in Linux. When I went to compile it in Mac OSX (which has gcc 3.1 I
believe), I had errors everywhere. It took a long time to weed them all out.

The biggest problem was 2.96 doesn’t recognize namespaces, but it does allow
the use of namespace related keywords. So even though I thought I was adding
on std:: and such as needed, I wasn’t always. That’s not really a complaint
against the compiler, it just proved a pain in this situation.

The other problem I had, which I thought was odd, was 2.96 allowed me to
compile some things that use std::cout and std::vector, even though I had
forgotten to include and . I looked back through the chain
of includes and did not find that or had somehow sneaked
into the file. Not to mention gcc 3.2 stopped immediately upon encountering
the undeclared cout.

I try to keep good coding habits, but when my compiler even lets me cheat,
it’s a bit harder. I’ve sinced upgraded to gcc 3.2.

MattOn Thursday 29 August 2002 01:19 pm, Nick Whitelegg wrote:

2.96 is a widely known buggy version and one should not use such a beast
for any production software. The C++ compiler is specially broken, BTW.

In what ways is it broken?

This is off-topic, please discuss it on the gcc mailing list if you need to.

Thanks,
-Sam Lantinga, Software Engineer, Blizzard Entertainment

El Thu, 29 Aug 2002 21:36:25 -0400
Matthew Miller escribi?:

Depends heavily on your definition of “broken”. There are some things that
2.95 can’t do at all, which is why Red Hat needed the new version for their
7.x release.

Oh yeah, particularly the IA64 platform target required by Intel.

Regards,
Wizord.