zmaten z gcc, glibc...

mlisty na atlas.cz mlisty na atlas.cz
Sobota Srpen 25 15:28:56 CEST 2001


Ahoj,

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

Dale je zbytecne pokracovat, protoze nektere dalsi casti
potrebuji
PortableServer knihovnu, ktera se nevytvorila a navic casto
hlasi
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
pozdeji se nedarilo linkovat s libACE.so, ktera byla
vytvorena v RH.
Proc?  Je snad binarni nekompatibilita i mezi 2.96-81 a 2.95.2?
Smazal jsem vsechny *.o *.so soubory a zacal kompilovat
ACE/TAO pod
Suse znovu od zacatku (a s "-O2" namisto defaultni "-O3"). 
Tentokrat
bylo vse v poradku, zkompiloval jsem a odzkousel i sve
programy, ktere
jsem psal pro TAO pod Windows.  Problem je, ze se mi nechce
prechazet
na Suse (nic proti te distribuci nemam, ale vsechno se tam
chova jinak
nez jak jsem zvykly z RH), prestoze jsem s tim kompilatorem,
ktery
tam je, prekompiloval vse (problem s kompilaci pod RH7.1
nemam jen s
TAO).  Ty ace/tao knihovny, ktere jsem prekompiloval pod
Suse se zdaji
byt pouzitelne i pod RH, ale problem to neresi zcela.  Me
CORBA programy,
ktere pouzivaji TAO opet zkompiluji i spustim, ale kdyz
napriklad zkousim
prekompilovat jejich "Quoter example" hazi to stejne chyby
jako drive
(Internal compiler error...).

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).  Napada me:

1. nejakym zpusobem naistalovat ty baliky s gcc 2.95.2,
ktere mam v Suse -
mozna by stacilo pouze vytvorit linky na g++, linker
(take?), ktere jsou
na Suse partition.  Mohou pak programy kompilovane s gcc
2.95.2 pouzivat
glibc knihovnu v RH7.1?

2. Nainstalovat gcc 3.x (3.1 nebo 3.0?).  Toto reseni bych
preferoval.
Co vsechno by bylo potreba udelat mimo instalace rpm s gcc
3.1?  Je
slozite nahradit v RH7.1 ten puvodni kompilator za verzi 3.x?

Omlouvam se, ze se ptam misto toho, abych experimentoval,
ale vzhledem
k tomu, ze v poslednich dnech nedelam nic jineho nez (vesmes
neuspesne) kompiluji (zkousel jsem nekolik verzi ace/tao, obcas
zapomnel na nejaky parametr a mohl kompilovat znovu a kompilace
nejzakladnejsich casti trva na 600MHz/256MB okolo 4 hodin)
je snad
mozno to chapat.  Zeptal bych se i obecneji: maji ostatni
take problemy
neco zkompilovat pod RH7.1 a jak tento problem resi?

-- 
jakub



Další informace o konferenci Linux