[FoLUG]A cosa potrei pensare se ...

PalmaWay palmaway@gmx.it
Mar 9 Set 2003 20:33:52 CEST


> mmmm...
> Parliamo del casino che hanno combinato con il gcc 2.9.6 che=
 per gli sviluppatori GNU nemmeno esiste=
 (http://gcc.gnu.org/gcc-2.96.html) e che canna praticamente=
 tutto ci=F2 che compila (in particolare se c'=E8 qualche riga di=
 assembly) dal kernel a mysql, da wine ad mplayer.
>Sulla pagina che hai linkato dice che la 2.96 e la 2.97 sono
>"development version" e si raccomandano di non usarli.
>Non puoi mica pretendere che siano stabili...

Visto che la vuoi sentire ora ti narrer=F2 questa lieta=
 novella.=09;-)

La RedHat ha necessit=E0, e utenze, commerciali. Quando un ritardo=
 della nuova major release
del gcc (la serie 3.X) li obbliga a ritardare il rilascio della=
 loro nuova versione (7.0), decidono di optare per un mezzo fork=
 e prendere una versione UNstable del gcc (la 2.9.6), applicarvi=
 una montagna di patch per le pi=F9 disparate esigenze commerciali=
 (come il supporto per la doppia sintassi Intel e AT&T=
 nell'assembly language) e rilasciarla come versione ufficiale e=
 di default per la loro distribuzione. La Mandrake, ovviamente,=
 li segue a ruota.
Il gruppo del GCC si affretta per=F2, come hai notato tu nel link,=
 a ribadire che il gcc 2.9.6 =E8 una versione di sviluppo, e=
 raccomanda un downgrade alla 2.9.5.3 (stable).
Cos=EC fanno molti produttori software, ma la RedHat continua=
 imperterrita a fare release con il gcc 2.9.6 ri-patchato.

Pensa che, poich=E8 il gcc aveva dei problemi addirittura col=
 kernel, RedHat ha rilassciato il kgcc, un compilatore apposta=
 per il kernel. Ecco cos'=E8:
=ABI was under the impression that redhat provided "kgcc" for=
 compiling kernels. I think kgcc is actually gcc-2.7.2.3 or=
 thereabouts and should be used for compiling kernels. Recent=
 kernels look for it in their makefiles by default in fact...=BB

Ora un po' di link e pareri.

Se non ti basta, qui trovi un po' di storia, sono le risposte=
 degli sviluppatori di MPlayer agli utenti che chiedevano perch=E8=
 impedissero la compilazione del programma su RH e Mdk col gcc=
 bacato.
http://www.mplayerhq.hu/DOCS/Italian/users_against_developers.htm=
l#gcc

Questo invece =E8 ci=F2 che dicono gli sviluppatori di avifile:
=ABDuring last few weeks two major Linux distribution producers -=
 Mandrake and RedHat - have released new versions of their=
 distributions. Unfortunately, for reasons only known to their=
 marketing strategists, these distributions include unstable=
 development versions of C++ compiler - gcc 2.96. We do what we=
 can to support all known snapshots of C++ compilers out there in=
 our current development version, but we don't guarantee backward=
 compatibility of older releases with unstable versions of=
 compilers. If you are intending to compile version 0.53.5 on one=
 of these systems, you've got three options.
- Manually edit the source code and remove all instances of=
 keyword 'inline' from lib/audiodecoder/mpeg/filter.cpp and=
 filter_2.cpp.
- Downgrade C++ compiler to last stable version of gcc - 2.95.3.
- Install either of our 'official' distributions - Debian or=
 Slackware.=BB 
http://avifile.sourceforge.net/news-old1.htm

Se invece vuoi sapere cosa accade al kernel (!!!):
=ABIA64 is still using .text.lock (only for read_lock()), gcc 2.96=
 generates incorrect code for ia64 subsections.=BB
http://www.atnf.csiro.au/people/rgooch/linux/docs/kernel-newsflas=
h.html

Ecco cosa dicono alla MySQL:
=ABSeveral users have reported random crashes and table corruptions=
 when using MySQL binaries compiled with gcc 2.96 on the x86=
 Linux platform. We suggest that you use gcc 2.95 or gcc 2.91 to=
 compile your own binaries. It should also be safe to use gcc=
 3.2.=BB
http://www.mysql.com/downloads/mysql-3.23.html

Puoi trovare un'infinit=E0 di altri software che venivano mal=
 compilati, basta che fai una ricarca su google. Cmq se vuoi=
 qualche altro nome ti posso dire Wine o GNU octave.

Per ultimo un parere storico sulla tua (amata?) RedHat:
=ABRedHat have a history of this sort of thing, and it's a mixed=
 blessing. When RH went from 4.2 to 5, they were the first major=
 distro to ship with glibc by default. Lots of binary only=
 software broke, and much fiddling with compatibility libs was=
 needed. However, their actions got
glibc out into general use, and other distros followed suit. The=
 net effect was, I feel, beneficial.
 Now, RH7 is a different kettle of fish. I tend to believe that=
 the motivation is similar - get new stuf into a general user=
 community, where it can get pounded on, and brought up to=
 release standard fast. No doubt there's a degree of self=
 interest involved - they want to push Linux development on, but=
 I tend to believe their motives were good. Taking a snapshot of=
 the compiler was probably not the smartest thing in the world=
 though. The syntax used by gcc has changed slightly, breaking=
 many programs, and the general lack of binary compatibility with=
 anything else is not that good. Shipping a system where the=
 default compiler won't compile the kernel is also pretty bad.=
 Again though, the results may be for the best - lots of programs=
 will be compatible with gcc 3 syntax before its release, that=
 otherwise would have broken. This can't be a bad thing. No-one=
 in their right mind would use RH7 on a production server anyway,=
 so maybe there won't be too many bitten. Time will tell - if the=
 new versions of glibs and gcc have stabilised and
been officially released in time for 7.1, I'll forgive them.=
 Until than, I just won't use the thing :-))=BB

Scusate la mega-mail...
Ciao!
Paolo "PalmaWay" Palmieri





Maggiori informazioni sulla lista FoLUG