zmaten z gcc, glibc...

pasky na ji.cz pasky na ji.cz
Pondělí Srpen 27 11:17:05 CEST 2001


> pouzivam RH7.1 (standardni jadro a gcc) a dostal jsem se v
> posledni
> dobe do problemu.  Nedari se mi s gcc 2.96-81 zkompilovat to, co
> nezbytne potrebuji.  Jde v prvni rade o TAO (1.1.18) a
> castecne MICO
> (pokud pouzivam Corba Component Model rysy).  Pote co uspesne
> zkompiluji ACE, mi g++ pri kompilaci PortableServer vypise:
> 
> Internal compiler error in scan_region, at except.c:2809
> Please submit
> a bug
..snip..
> stejnou chybu.  Hledal jsem ve svem archivu mailing listu o TAO:
> stejny problem (internal compiler error) mel nekdo na
> Mandrake 7.1 s
> gcc-2.95.2 a problemu se zbavil snizenim optimalizacni
> urovne ("-O3"
> >> "-O2").  Toto mi nepomohlo.  Lide kteri ACE/TAO vyvijeji
> tvrdi, ze
> uspesne kompiluji s gcc 3.0 a v ace/tao change logu jsem
> nasel zminky
> o upravach zdrojovych kodu tak, aby bylo mozno kompilovat s
> gcc 3.
> Napadlo me zkusit kompilovat pod Suse 7.1 (gcc 2.95.2),
> ktery mam
> rovnez nainstalovan, ale spoustim jen minimalne.  Nejprve
> jsem ze
> zvedavosti zkusil proste pokracovat v kompilaci, tj.
> neodstranil jsem
> objektove soubory a knihovny, vytvorene pod gcc 2.96-81 v
> RH.  K memu
> udivu bez problemu zkompiloval ten problematicky soubor, nicmene
..snip..
> pozdeji se nedarilo linkovat s libACE.so, ktera byla
> vytvorena v RH.
..snip..
> Jak lze tenhle problem elegantne vyresit?  Nerad bych
> pouzival compat
> kompilator (ma predstava je, ze by me programy pak byly
> zavisle na
> glibc 2.1).
..snip..

Jde o to, ze RedHat udelal naprosto nepochopitelnou pitomost (nechci vyvolavat
nejakou velkou flame, ale myslim si to a mysli si to i drtiva vetsina ostatnich
co do toho mozna vidi vice nez ja ;), kdyz jako gcc pouzil experimentalni
a testovaci verzi gcc, ktera tehdy jeste nebyla v moc dobrem stavu - diky tomu
spousta takovychto vetsich programu nejde zkompilovat, a aby si vubec uzivatele
RedHatu mohli zkompilovat kernel, musel RedHat dat k dispozici i pouzitelnou
verzi gcc (tusim 2.95.2?) pod nazvem kgcc - zkusil bych stahnout tenhle balicek
a pripadne tim zkusit zcela nahradit ten puvodni, ale s RH nemam zkusenosti...

Jinak neni problem si gcc prekompilovat uplne od zacatku, najdete ho na
http://gcc.gnu.org/ - pokud chcete neco rock-stable 'industrial quality', tak
bych radsi stale volil proverenou 2.95.3, pokud stale jeste mate trochu
dobrodruznou naladu a jste povahy progresivne-optimisticke, tak zkuste 3.0.1 :)
(ale pocitejte s tim ze treba glibc s tim sice zkompilujete, ale fungovat
 nebude, a mozna ze i s jadrem budete mit urcite problemy)

Zkuste nejak odinstalovat proste stare gcc a nainstalovat rpmko noveho - o
RPM toho vim hodne malo protoze vubec nepouzivam, ale tohle je snad jeho smysl
existence ;-).

-- 

				Petr "Pasky" Baudis
.                                                                       .
#define BITCOUNT(x)     (((BX_(x)+(BX_(x)>>4)) & 0x0F0F0F0F) % 255)
#define  BX_(x)         ((x) - (((x)>>1)&0x77777777)                    \
                             - (((x)>>2)&0x33333333)                    \
                             - (((x)>>3)&0x11111111))
             -- really weird C code to count the number of bits in a word
.                                                                       .
My public PGP key is on: http://pasky.ji.cz/~pasky/pubkey.txt
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d- s++:++ a--- C+++ UL++++$ P+ L+++ E--- W+ N !o K- w-- !O M-
!V PS+ !PE Y+ PGP+>++ t+ 5 X(+) R++ tv- b+ DI(+) D+ G e-> h! r% y?
------END GEEK CODE BLOCK------


Další informace o konferenci Linux