zmaten z gcc, glibc...

Martin `MJ' Mares mj na ucw.cz
Úterý Srpen 28 12:52:37 CEST 2001


Ahoj!

> Zkuste si nekdy prelozit nebo provozovat nejaky produkt pod starsi verzi
> Linuxu. Nepujde to. Je to proste tak. Linux != na-veky-stejny. Ale mame
> zdrojove kody. Vzdycky to tak bylo a nekompatibilita vzdy bude (uz z
> duvodu pouziti rozdilnych komponent) a vsichni se snazi, aby byla co
> nejmensi (ovsem stav kompilatoru za poslednich 5 let to neumoznuje).
[...]
> uvedomte si, ze stare kompilatory podporuji zpusob psani kodu tak, jak to
> uz *nikdy* nebude podporovano. Pokud dnes nejde nekomu prelozit neco na
> 2.96, nepujde mu to s velmi velkou pravdepodobnosti prelozit ani na
> novejsich kompilatorech (tyka ze zejmena C++, ponechme stranou chyby
> kompilatoru, ktere se daji opravit a jsou i ve starsich verzich).

To neni pravda -- pokud se programuje ciste, jde program prelozit
jak pod starym, tak pod novym gcc, jakoz i pod vselikymi verzemi (g)libc.
Mimo low-level programu a Sherlocka (ktery potrebuje 64-bitove souborove
API) prekladem sve staricke programy i dnes pod nejnovejsimi verzemi
gcc i glibc a stejne tak mne prijemne prekvapilo, kdyz jsem objevil
jednu instalaci Linuxu s libc5 a ma novejsi dilka tam take bez problemu
fungovala.

Samozrejme ze se v programech tu a tam vyskytuji chyby, ktere stary
kompilator toleroval a novy tak necini, ale to se pak nejedna o prizpusobovani
kodu kompilatoru, nybrz standardum, coz je cinnost chvalyhodna.

> Verze 2.96 mela ukonceny vyvoj API (tj. podobu zdrojoveho kodu). Ukoncen
> nebyl byvoj ABI pro C++ (binarni podoba). Kdyz je neco zverejneno CVS, je
> obvykle, ze se kod v nem ulozeny pouziva. Pokud s tim tvurci projektu
> nesouhlasi, maji pravo deklarovat, ze nebudou tuto verzi podporovat (to
> udelali), ale je velmi neobvykle branit nekomu kod v CVS pouzit 
[...]

Ano, ale je take velmi neobvykle distribuovat nestabilni verzi z CVS tak,
ze vypada jako stabilni a nedoprovodit ji dostatecne vyraznym varovanim,
ze to je vyvojova verze a ze bug reporty se nemaji posilat autorum, nybrz
tomu, kdo tento "release" spytlikoval.

Jiste, RedHat mel plne pravo neco takoveho udelat, ale myslim si, ze tim
prekrocil hranice slusnosti, a to jak k uzivatelum, tak k maintainerum GCC.

Je mi ponekud smutno z toho, ze software sity horkou jehlou temi, kdoz
chteji stuj co stuj privezt svou karku s krabicemi na trziste drive nez
soused, se stava i u Linuxu beznou realitou. Ale to neni jen redhatovsky
problem, SuSE take nema pred vlastnim prahem zameteno a vetsina ostatnich
komercnich distribuci nejspis take (i kdyz nemohu soudit, poradne je
neprozkoumav).

				Have a nice fortnight
-- 
Martin `MJ' Mares   <mj na ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
Q: How to start hacking Linux?  A: vi /boot/vmlinuz


Další informace o konferenci Linux