# [SOLVED]emerge uDN world i niekompilowanie kbd

## RA6

Problem wyglada tak:

emerge -uDN world

nie moze dokonczyc operacji zatrzymuje sie na pakiecie sys-apps/kbd-1.12-r8

Fragment loga:

```
i686-pc-linux-gnu-gcc   clrunimap.o getfd.o kdmapop.o   -o clrunimap

i686-pc-linux-gnu-gcc   setpalette.o getfd.o   -o setpalette

i686-pc-linux-gnu-gcc   loadkeys.o ksyms.o xmalloc.o findfile.o getfd.o   -o loadkeys

make[1]: Leaving directory `/var/tmp/portage/sys-apps/kbd-1.12-r8/work/kbd-1.12/src'

make[1]: Entering directory `/var/tmp/portage/sys-apps/kbd-1.12-r8/work/kbd-1.12/openvt'

i686-pc-linux-gnu-gcc -march=pentium4 -Os -mfpmath=sse -pipe -Wall -ansi   -c -o openvt.o openvt.c

i686-pc-linux-gnu-gcc -march=pentium4 -Os -mfpmath=sse -pipe -Wall -ansi   -c -o getfd.o getfd.c

i686-pc-linux-gnu-gcc -march=pentium4 -Os -mfpmath=sse -pipe -Wall -ansi    openvt.o getfd.o   -o openvt

make[1]: Leaving directory `/var/tmp/portage/sys-apps/kbd-1.12-r8/work/kbd-1.12/openvt'

make[1]: Entering directory `/var/tmp/portage/sys-apps/kbd-1.12-r8/work/kbd-1.12/po'

xgettext --default-domain=kbd --directory=.. \

          --add-comments --keyword=_ --keyword=N_ \

          --files-from=POTFILES.in

msgfmt -o cs.gmo cs.po

xgettext: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory

make[1]: *** [kbd.pot] Error 127

make[1]: *** Waiting for unfinished jobs....

make[1]: Leaving directory `/var/tmp/portage/sys-apps/kbd-1.12-r8/work/kbd-1.12/po'

make: *** [all] Error 1

!!! ERROR: sys-apps/kbd-1.12-r8 failed.

Call stack:

  ebuild.sh, line 1614:   Called dyn_compile

  ebuild.sh, line 971:   Called qa_call 'src_compile'

  environment, line 3048:   Called src_compile

  kbd-1.12-r8.ebuild, line 95:   Called die

!!! emake failed

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/log/portage/sys-apps:kbd-1.12-r8:20070313-184838.log'.
```

Szukalem na forum, google i bugzilli choc moje umiejetnosci w tej kwestii nie sa najlepsze. Nie wiem jak to ugryzc to wiec pytam sie tu. Za odpowiedz rozwiazujaca problem z gory dziekuje  :Wink: 

od raku: używaj znaczników codeLast edited by RA6 on Fri Mar 16, 2007 11:07 am; edited 1 time in total

----------

## vutives

 *RA6 wrote:*   

> 
> 
> xgettext: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory
> 
> 

 Może spróbuj zeemergować dev-libs/expat ?

----------

## RA6

Przebudowa dev-libs/expat nic nie dala, kilka innych rzeczy probowalem z innych podobnych postow, ale bez rezultatu.

Mam inne pytanie czy da sie pominac ten pakiet przy emerge -uDN world. package.mask nie pomaga /etc/portage, moze jak pakiet dopisze do /usr/portage... cos tam to pomoze?

----------

## Belliash

 *RA6 wrote:*   

> Przebudowa dev-libs/expat nic nie dala, kilka innych rzeczy probowalem z innych podobnych postow, ale bez rezultatu.
> 
> Mam inne pytanie czy da sie pominac ten pakiet przy emerge -uDN world. package.mask nie pomaga /etc/portage, moze jak pakiet dopisze do /usr/portage... cos tam to pomoze?

 

jak sie kompiluje world i stanie na tym to dajesz emerge --resume

mozliwe ze przezuci ten pakiet gdzies dalej i bedzie kompilowal inne az znowu trafi na ten  :Wink: 

jesli tak sie da to robisz tak do bolu az sie nie da a wtedy emerge --skipfirst --resume i po problemie  :Razz: 

A co do samego problemu to musi dac sie to naprawic  :Wink: 

Ominiecie pakietu to nie rozwiazani tzreba cos wymyslec...

ale zanim posuniesz sie do radykalnych krokow sprobuj zrobic tak:

ln -sf /usr/lib/libexpat.so.1.5.0 /usr/lib/libexpat.so.0 

a jak nie pomoze to jeszzce tak

revdep-rebuild -X --library libexpat.so.0

a jak nie pomoze to jeszcze tak:

emerge expat && rm -rf /root/.revdep* && revdep-rebuild && emerge -uDN world

a jak to nie pomoze to poprostu omin ten pakiet  :Razz: 

----------

## RA6

Dzięki Morpheouss wystarczyło dać dowiązanie do biblioteki   :Embarassed: ln -sf /usr/lib/libexpat.so.1.5.0 /usr/lib/libexpat.so.0. Takie złożone w swojej prostocie.

----------

## Arfrever

 *RA6 wrote:*   

> Dzięki Morpheouss wystarczyło dać dowiązanie do biblioteki  ln -sf /usr/lib/libexpat.so.1.5.0 /usr/lib/libexpat.so.0. Takie złożone w swojej prostocie.

 

Usuń to dowiązanie, bo biblioteki "libexpat.so.1.5.0" i "libexpat.so.0" są ze sobą niekompatybilne, chociażby ze względu na inne soname:

```
$ readelf -d /usr/lib/libexpat.so.1.5.0 | grep SONAME

 0x0000000e (SONAME)                     Library soname: [libexpat.so.1]
```

Powinieneś wykonać wspomniane:

```
revdep-rebuild -X --library libexpat.so.0
```

Perduodu linkėjimus

Arfrever

----------

