build world skonci na gperf

Dan Lukes dan at obluda.cz
Sun Jun 29 16:32:11 CEST 2008


Honza Klokanek Sipek wrote:
> ahoj, nevite nahodou nekdo, co by mohlo byt spatne, kdyz
> make buildworld 
> skonci na gperf?

> c++ -O2 -fno-strict-aliasing -pipe -I/usr/obj/usr/src/tmp/legacy/usr/include
> -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib
> -I/usr/src/gnu/usr.bin/gperf  -static -L/usr/obj/usr/src/tmp/legacy/usr/lib
> -o gperf bool-array.o gen-perf.o hash-table.o iterator.o key-list.o
> list-node.o main.o new.o options.o read-line.o trace.o vectors.o version.o
> hash.o -legacy
> gen-perf.o(.text+0x12f): In function `Gen_Perf::Gen_Perf()':
> : undefined reference to `_Unwind_Resume'

> /usr/lib/libstdc++.a(eh_personality.o)(.text._Z21base_of_encoded_valuehP15_Unwind_Context+0x4a):
> In function `base_of_encoded_value(unsigned char, _Unwind_Context*)':
> : undefined reference to `_Unwind_GetRegionStart'

	Vypada to tak - pri prekladu se nejprve naprekladaji "nove" knihovny do 
/usr/obj/usr/src/tmp/legacy/usr/lib a pak se preklada, pricemz se pri 
prekladu rika, ze prave tady se maji knihovny hledat.

	Jenze to z duvodu, ktery jsem nikdy bliz neanalyzoval, nefunguje 
spolehlive. Pokud v /usr/lib (nebo jinde v obvykle ceste) existuje 
knihovna spravneho jmena, tak se pouzije "driv". A protoze je stara, 
muze neco z toho, co nova obsahuje a s cim se pocita neobsahovat.

	Nekdy je take na vine nedotazeny upgrade z nejake predchozi verze, 
zejmena situace, kdy se knihovny stehovaly do jineho adresare - a ve 
starem adresari zustaly nejake stare verze knihoven (ktere jsou v novem 
adresari nove). Pak hodne zalezi na poradi prochazeni adresaru.

	Ja bych:
1. pokud je system upgradovany z jine verze
	cd /usr/src ; make delete-old delete-old-libs

restart a zkusit znovu. Kdyz rikam znovu, myslim znovu "z cista" to jest 
- do prazdneho /usr/obj

Pokud system neni upgradovany a/nebo vyse uvedene nepomuze pak to je 
slozitejsi magie - je treba zabranit aby system nasel "originalni" verze 
knihoven. Tady by melo jit o libgcc a libstdc+++ - takze nekam 
uklidit/prejmenovat (pricemz je nutne najit vsechny vyskyty techto 
knihoven - pro pripad, ze jich je tam po presunech vic v ruznych verzich 
- a to nejlepe jak staticke tak dynamicke verze) a zkusit znovu.

	Tim jsem samozrejme nevyvratil moznost, ze jde o hardwarovou zavadu.

						Dan





More information about the Users-l mailing list