# [solved][kde] blad kompilacji...

## EndrjuX

```
../../kicker/ui/.libs/libkicker_ui.a(k_mnu.o): In function `PanelKMenu::initialize()':

k_mnu.cpp:(.text+0x2762): undefined reference to `KickerLib::menuIconSet(QString const&)'

k_mnu.cpp:(.text+0x28a5): undefined reference to `KickerLib::menuIconSet(QString const&)'

k_mnu.cpp:(.text+0x2a39): undefined reference to `KickerLib::menuIconSet(QString const&)'

k_mnu.cpp:(.text+0x2dbd): undefined reference to `KickerLib::menuIconSet(QString const&)'

k_mnu.cpp:(.text+0x2f2c): undefined reference to `KickerLib::menuIconSet(QString const&)'

../../kicker/ui/.libs/libkicker_ui.a(k_mnu.o):k_mnu.cpp:(.text+0x30cc): more undefined references to `KickerLib::menuIconSet(QString const&)' follow

collect2: ld returned 1 exit status

libtool: install: error: relink `launcher_panelapplet.la' with the above command before installing it

make[4]: *** [install-kde_moduleLTLIBRARIES] Error 1

make[4]: Leaving directory `/var/tmp/portage/kdebase-3.5.2-r1/work/kdebase-3.5.2/kicker/applets/launcher'

make[3]: *** [install-am] Error 2

make[3]: Leaving directory `/var/tmp/portage/kdebase-3.5.2-r1/work/kdebase-3.5.2/kicker/applets/launcher'

make[2]: *** [install-recursive] Error 1

make[2]: Leaving directory `/var/tmp/portage/kdebase-3.5.2-r1/work/kdebase-3.5.2/kicker/applets'

make[1]: *** [install-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/kdebase-3.5.2-r1/work/kdebase-3.5.2/kicker'

make: *** [install-recursive] Error 1

!!! ERROR: kde-base/kdebase-3.5.2-r1 failed.

!!! Function kde_src_install, Line 251, Exitcode 2

!!! died running make install, kde_src_install:make

!!! If you need support, post the topmost build error, NOT this status message.
```

to jest kompilacja kde-base/kdebase-3.5.2-r1 (update world tak w ogole...) dziwne ze w kodzie jest blad :/ 2 raz to samo wiec jakeis powtorki chyba nic nie dadza... wczesniej rekompilowal sie gcc, glibc no i parenascie paczek bo robilem world...

sugestie?

pozdrawiam! 

Endrju.  :Smile: 

----------

## mbar

 *EndrjuX wrote:*   

> sugestie?
> 
> 

 

Na początek łaskawie nas oświeć w sprawie konfiguracji swojego systemu.

----------

## EndrjuX

wspaniale, tylko co to da, skoro to blad kodu..

ok to jedziemy:

 *Quote:*   

> Portage 2.0.54 (default-linux/x86/2005.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.12-gentoo-r6 i686)
> 
> =================================================================
> 
> System uname: 2.6.12-gentoo-r6 i686 AMD Athlon(tm)
> ...

 

cos jeszcze? stoi na biurku a obok monitora jest lampa. ale to chyba nieistotne...  :Wink: 

edit:

to sa poprzednie merge w tym world:

 *Quote:*   

> Mon Apr 24 22:12:27 2006 >>> sys-apps/portage-2.0.54
> 
>      Mon Apr 24 22:50:30 2006 >>> sys-kernel/gentoo-sources-2.6.16-r3
> 
>      Tue Apr 25 17:16:11 2006 >>> sys-devel/binutils-config-1.8-r7
> ...

 

----------

## mbar

To nie jest błąd kodu, bo mi i wielu innym ta wersja KDE kompiluje się bez problemu, tylko ty masz flagi CFLAGS i LDFLAGS zupełnie od czapy. Wywal -Os i -mfpmath=sse, użyj czegoś normalnego.

----------

## EndrjuX

uzyj normlanego czyli -O2 i bez tego sse tak?  :Smile:  LDFLAGS w sumie to nawet nie wiem skad wyczasnalem, ale zostawic?

kompilowac czy cos jeszcze ? bo ten blad jest na samym koncu po jakichs 2 godzinach...

edit

LDFLAGS="-Wl,-O1" safe?

----------

## mbar

Zobacz

CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"

również -ffast-math rozwala KDE.

LDFLAGS="-Wl,-O1 -Wl,-s" wystarczy.

BTW, jak użyjesz -Wl,-z,now w LDFLAGS, to skompilowane modularne xorg 7 się posypie...

Po zmianie flag rozpocznij od rekompilacji QT w wersji 3.x.x, nie instaluj 4.1 (samo się będzie pchało).

----------

## qermit

 *mbar wrote:*   

> BTW, jak użyjesz -Wl,-z,now w LDFLAGS, to skompilowane modularne xorg 7 się posypie...

 tylko w kilku pakietach nie można tego używać (ładowanych dynamicznie)

----------

## EndrjuX

ok, tak zrobie... jak jeszcze nie bede spal to napisze co wyszlo  :Smile: 

qt 4.1 mi sie nie pcha, bedzie 3.3.4-r8  :Smile: 

dzieki  :Smile: 

----------

## EndrjuX

nic, dalej to samo ..

----------

## martin.k

Tak na przyszłość... Nie przesadzaj z CFLAGS i CXXFLAGS, a kiepskie nastawy w LDFLAGS to więcej niż pewne, że coś się wypi**rzy.

Jeśli wymieniasz gcc, to po przełączeniu gcc-configiem na nowy kompilator pamiętaj o przekompilowaniu całego toolchain'a

```
emerge -e system
```

Więcej tutaj: http://www.gentoo.org/doc/en/gcc-upgrading.xml

Jeżeli nie przeemergowałeś toolchain'a po zmianie flag CFLAGS, CXXFLAGS, LDFLAGS, to nie dziw się, że dalej masz tak samo. Cześć aplikacji i bibliotek masz skompilowane ze starymi flagami, część z nowymi, to nie koniecznie musi działać poprawnie...  :Shocked: 

----------

## EndrjuX

hmm no w sumie to tylko jeden numerek wersji sie zmienil z 3.4.0 na 3.4.5, po tym jak robilem 3.4.0 zrobilem -e system  i world...

mam pytanie, czy -e robi z update'ami czy trzeba dodac np. -u, czy w ogole najpierw bym musial -e a potem sync i update, bo od razu lepiej bym zrobil system i world z -e i od razu jako update potem...

----------

## Yatmai

 *Quote:*   

> CFLAGS="-Os -march=athlon-xp -mtune=athlon-xp -s -pipe -msse -fomit-frame-pointer -mfpmath=sse" 

 

A to sie nie znosi wzajemnie ? :]

----------

## EndrjuX

-mtune jest z 3.4 -march z 3.3, moga byc obie, chyba dla zgodnosci wstecz to ma byc... ale to chyba nie powinno sprawiac problemu...

----------

## Yatmai

Jak pamiętam march powodowało optymalizowanie kodu do danej architektury, jednak bez zachowania kompatybilności wstecznej, w przeciwieństwie do mtune, które używało dobrodziejst podanej architektury, jednak bez łamania kompatybilności z wcześniejszymi modelami :]

----------

## EndrjuX

http://republika.pl/yoshi314/files/make.conf   to znalazlem dawno temu na forum, wg tego, moga byc obie... ale to chyba nie powoduje problemu, ktory pozostaje nierozwiazany ... (kompilowalem tylko z march i i tak zonk)  a moze to nptlonly? hmm... poki co zrobie -e system i zobacze jak world pojdzie (bo i tak duzo do update bylo...)

----------

## Yatmai

```
libtool: install: error: relink `launcher_panelapplet.la' with the above command before installing it 
```

Może na taki błąd pomógłby revdep-rebuild :]

----------

## EndrjuX

-e systema zrobiony, teraz tylko czy robic -e worlda calego?

----------

## martin.k

 *EndrjuX wrote:*   

> -e systema zrobiony, teraz tylko czy robic -e worlda calego?

 

Najbezpieczniej by było zrobić -e world, ale możesz ograniczyć się do -e kde, jeśli nie masz za dużo czasu i mocy przerobowych na procku. Przynajmniej kde wraz z zależnościami się przeemerguje i jest szansa, że będzie działać.

Pamiętaj też o tym, by używać jednej wersji binutilsów i glibc przy kompilacja składników kde.

P.S.

Jak wymieniasz gcc, glibc i binutils, to zdaje mi się, że powinieneś zrobić tak:

1) zemergować gcc

2) przełączyć na nowy gcc w gcc-configu

3) zemergować glibc i binutils

4) ewentualnie przełączyć binutils-conifg na nowe binutils

5) potem emerge -e world

Ostatnio stawiałem Gentoo od zera i na samym starcie upgradowałem gcc, glibc i binutilsy. Nie trzeba było wszystkiego emergować ponownie.

----------

## EndrjuX

ok to chyba jednak zdecyduje sie na -e world przeleci kde i wszystkie update'y  :Smile:  dzieki za pomoc... mam nadzieje ze juz sie nie pojawi ten blad..   :Shocked: 

pozdrawiam!  :Smile: 

Endrju.

----------

## qermit

Też miałem ten problem od jakiegoś czasu i to napewno nie była sprawa LDFLAG ani CFLAGS.

Pomógł oczywiście revdep-rebuild.

----------

## Gabrys

Mi się wywaliło ostatnio media-libs/akode z niewiadomych przyczyn. Puściłem --resume --skipfirst i olałem sprawę, bo miałem jakieś stare (robiłem tylko upgrade'a). Z ciekawszych rzeczy jeszcze xinelibs albo xine-ui narzekał na coś z Manifestem. Też go zlałem, ale coś mi mówi, że w drzewie portage nastał nieporządek.

----------

## EndrjuX

dalej to samo... :/ :/ :/ wszystkie pieknie dziala -e system -e world i jak dochodzi do kdebase to zonk...

revdep-rebuild to juz chyba sie zrobilo samo za sprawa tego ze caly world z -e robie...

----------

## qermit

pozostaje tobie revdep-rebuild -p i ręczne odpalanie emerge --oneshot nazwa-pakietu-bez-wersji. Kdebase zostaw sobie na deser. W moim przypadku pomogło, a byłem już na krawędzi wytrzymałości psychicznej   :Mr. Green: 

----------

## EndrjuX

omg :/ ok zobacze co z tym revdep-rebuild, tylko ze ja robilem -e world i mi sie skasuje --resume :/... eh zrzuce to co zostalo do jakiegos pliku i potem zaemerguje... tylko pytanie czy potem znowu nie bedzie bledow... paranoja

edit:

LOL :/ tylko phyton i kdegraphics wymagalo by rekompilacji... to chyba nie ma wplywu na kdebase :/:/:/:/:/ paranoja ^ 2

----------

## yonami

Ja sie przyłączam. Żeczywiście coś się dzieje w portage, gdyż któryś z kolei pakiet wywala tego typu błędy:

```

In file included from workspace.h:23,

                 from workspace.cpp:14:

utils.h: In function `int KWinInternal::timestampCompare(long unsigned int,

   long unsigned int)':

utils.h:235: error: 'class NET' has no member named 'timestampCompare'

utils.h: In function `Time KWinInternal::timestampDiff(long unsigned int, long

   unsigned int)':

utils.h:241: error: 'class NET' has no member named 'timestampDiff'

make[3]: *** [workspace.lo] Error 1

make[3]: Leaving directory `/var/tmp/portage/kwin-3.5.2-r2/work/kwin-3.5.2/kwin'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/var/tmp/portage/kwin-3.5.2-r2/work/kwin-3.5.2/kwin'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/kwin-3.5.2-r2/work/kwin-3.5.2'

make: *** [all] Error 2

!!! ERROR: kde-base/kwin-3.5.2-r2 failed.

Call stack:

  ebuild.sh, line 1521:   Called dyn_compile

  ebuild.sh, line 924:   Called src_compile

  kwin-3.5.2-r2.ebuild, line 29:   Called kde-meta_src_compile

  kde-meta.eclass, line 408:   Called kde_src_compile

  kde.eclass, line 113:   Called kde_src_compile 'all'

  kde.eclass, line 230:   Called kde_src_compile 'myconf' 'configure' 'make'

  kde.eclass, line 226:   Called die

```

CHOST="i686-pc-linux-gnu"

CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer -w"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j1"

Pozdrawiam

----------

## Yatmai

Miałem dosyć podobny błąd właśnie na Kwin w tej wersji. Było to podczas aktualizacji systemu, więc olałem to, przeleciałem inne pakiety, a gdy wrócilem do kwin na koniec to wsio przeleciało bez zająknięcia...

----------

## qermit

w twoim przypadku to raczej wina nieaktalnych plików nagłówkowych.

----------

## yonami

Jeżeli to nagłówki to znaczy, że jest to błąd portage. Powinno ssać nowsze wersje z neta.

W sumie mam kdelibs do zaktualizowania... może po tym pójdzie kwin   :Very Happy: 

Pozdrawiam

----------

## EndrjuX

to byl blad w czyms w libtool... na bugzilli bylo.. wystarczy emerge sync... problem rozwiazany  :Smile:  dzieki

----------

