# revdep-rebuild schlägt fehl - was tun?

## t0bi

hallo

habe ein update so nach standard-prozedur

emerge --sync

emerge -f --update --deep world

emerge --update --deep world

durchgeführt.

revdep-rebuild schlägt aber fehl und einige programme

starten nicht mehr richtig.

revdep-rebuild versucht die drei pakete

sys-devel/gcc-4.1.1  

kde-base/kdejava-3.5.2  

media-video/mjpegtools-1.8.0-r1  

zu installieren, das compilieren führt aber bei allen zu einem

solchen fehler, z.B. kdejava:

```
 make[4]: *** No rule to make target `org/kde/koala/classnoinst.stamp', needed by `koala.jar'.  Stop.

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

make[4]: Leaving directory `/var/tmp/portage/kdejava-3.5.2/work/kdejava-3.5.2/kdejava/koala'

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

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

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

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

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

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

make: *** [all] Error 2

!!! ERROR: kde-base/kdejava-3.5.2 failed.

Call stack:

  ebuild.sh, line 1543:   Called dyn_compile

  ebuild.sh, line 938:   Called src_compile

  kdejava-3.5.2.ebuild, line 45:   Called kde-meta_src_compile

  kde-meta.eclass, line 410:   Called kde_src_compile

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

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

  kde.eclass, line 319:   Called die 
```

das -X -Flag hilft auch nicht weiter, derselbe fehler. was

kann ich noch tun?

danke

tobi

----------

## CampinoDesign

Hi,

Hast du ein Update von GCC gemacht?

gruß,

Lars

----------

## t0bi

Im Prinzip sollte gcc mit dem update mit-geupdated worden sein,

das Update selber war ja erfolgreich und emerge gibt auch aus:

GCC

Latest Version Available: 4.1.1

Latest Version Installed: 4.1.1

also ich stehe wirklich vor einem Raetsel..

danke schon mal und

gruss

Tobi

----------

## CampinoDesign

Okay, bist du den GCC-Updgrade-Leitfaden durchgegegangen?

http://www.gentoo.org/doc/en/gcc-upgrading.xml

Grade bei einem update von der 3er auf die 4er Serie ist da nämlich einiges zu beachten.

gruß,

Lars

----------

## Pfeiffer

Hallo,

die Zeile

```
make[4]: *** Waiting for unfinished jobs.... 
```

hatte ich auch schon des öfteren. Normalerweise hilft es in der make.conf die MAKEOPTS-Variable kleiner zu setzten.

Bei den Programmen, die nicht mehr funktionieren, schließ ich mich CampinoDesign an.

----------

## t0bi

hm... danke erst mal an euch.

bin heute die anleitung zum gcc-update extra

nochmal schritt fuer schritt durchgegangen.

wieder der gleiche fehler.

welche optionen der makeopts hast du weggelassen,

bzw. gibt es irgendwelche optionen die allgemein

nicht so wichtig sind?

danke und gruss

tobi

----------

## t0bi

hab eben noch rausgekriegt, dass wohl die

programme, die nicht mehr starten, von der

libexpat.so.0 abhaengen, denn revdep-rebuild

listet da unheimlich viele "broken links" auf.

leider hilft mir

revdep-rebuild --library libexpat.so.0

auch nicht..

----------

## Pfeiffer

Hallo,

das libexpat ist ein ziemlich unschönes Problem, was auf

https://forums.gentoo.org/viewtopic-t-448550.html

ziemlich ausführlich diskutiert wird.

Obwohl einige davon abraten, hat bei mir damals nur ein

```
ln -s /usr/lib64/libexpat.so.1 /usr/lib64/libexpat.so.0
```

zur Lösung des Problems geführt.

In der make.conf hilft bei den "unfinished jobs" meist ein

```
MAKEOPTS="-j1"
```

Ansonsten gilt die Regel (aus dem Gentoo-Handbuch) 

```
MAKEOPTS="-j<Prozessoranzahl-Deines-Systems + 1>"
```

Die MAKEOPTS git an, wie viele Kompilierprozesse gleichzeitig laufen sollen. Dabei kann es u.U. schonmal vorkommen, dass versucht wird Dateien aus dem Paket in der falschen Reihenfolge zu kompilieren (meist kompiliert dabei ein Prozess die Datei, die von einem anderen Prozess aber benötigt wird, um weiter zu machen). Das führt dann zu obiger Fehlermeldung.

----------

## nikaya

Ich nehme an Du hast den Testing-tree aktiviert

```
ACCEPT_KEYWORDS="~arch"
```

in /etc/make.conf?

Welchen gcc hattest du vorher?Beim Update von 3.4.x auf 4.1.1 wird eigentlich ein kompletter Neubau empfohlen

```
emerge -e system 

emerge -e world
```

Da Du auch das Problem mit libexpat hast,wirst Du das System wohl sowieso komplett neubauen müssen,das hat jedenfalls bei mir nur geholfen.Das ist gleichzeitig auch die sauberste Lösung,wenn auch ein wenig unangenehm.  :Sad: 

----------

## t0bi

ja, den habe ich aktiviert.

upgedatet von 3.4.4 auf 4.1.1

werde wohl dann das ganze mal neu bauen..

danke allen!!

gruss

tobi

----------

## Fauli

Die Meldung Waiting for unfinished jobs ist ja nur eine Information und keine Fehlermeldung. Man kann also ruhig mehrere Quellcode-Dateien gleichzeitig kompilieren lassen, z. B. durch Setzen der MAKEOPTS.

----------

## t0bi

hm.. also ich hab das ganze system zwei mal komplett neu gebaut.

das problem besteht jedoch immer noch:

die libexpat.so.0 fehlt oder ist nicht mehr korrekt verlinkt,

revdep-rebuild will kdejava neu mergen, der kompilierungsprozess

schlägt aber immernoch fehl.

was kann ich noch tun?

danke und gruss

tobi

----------

## Carlo

 *t0bi wrote:*   

> sys-devel/gcc-4.1.1

 

GCC updates sind nicht trivial, ein simples revdep-rebuild reicht nicht. Siehe Gentoo Linux GCC Upgrade Guide.

Bezühlich deines Problems mit Java: Das sieht nach bug 138924 aus.

 *Pfeiffer wrote:*   

> Obwohl einige davon abraten, hat bei mir damals nur ein
> 
> ```
> ln -s /usr/lib64/libexpat.so.1 /usr/lib64/libexpat.so.0
> ```
> ...

 

Mit gutem Grund. Bitte hör auf mit solchen "Ratschlägen". Fehlende Bibliotheken mit Symlinks zu faken, ist kein Problemlöser, sondern schafft nur neue.

----------

## t0bi

danke.

die update-guide für gcc habe ich ja auch beigezogen und mich strikt

an die anweisungen gehalten.

ich habe den ebuild heruntergeladen, der den bug, den du genannt hast,

beheben soll.

wenn ich jetzt revdep-rebuild oder emerge kdejava mach, erhalt ich das:

```
Calculating dependencies... done!

[blocks B     ] =kde-base/kdebase-3.5* (is blocking kde-base/kwin-3.5.3)

[blocks B     ] =kde-base/kdebase-3.5* (is blocking kde-base/libkonq-3.5.3)

[blocks B     ] =kde-base/kdebase-3.5* (is blocking kde-base/kdebase-data-3.5.3)

[blocks B     ] =kde-base/kdebase-3.5* (is blocking kde-base/kicker-3.5.3-r1)

[blocks B     ] =kde-base/kdebase-3.5* (is blocking kde-base/khotkeys-3.5.3)

[blocks B     ] =kde-base/kdebase-3.5* (is blocking kde-base/kcontrol-3.5.3-r1)

[blocks B     ] =kde-base/kdebase-3.5* (is blocking kde-base/kdesu-3.5.3)

[blocks B     ] =kde-base/kdebase-3.5* (is blocking kde-base/khelpcenter-3.5.3)

[blocks B     ] =kde-base/kdebase-3.5* (is blocking kde-base/kcminit-3.5.3)

[ebuild     UD] kde-base/arts-3.5.3-r1 [3.5.4] 

[ebuild     UD] kde-base/kdelibs-3.5.3-r4 [3.5.4] 

[ebuild  N    ] kde-base/kwin-3.5.3  USE="arts kdeenablefinal xinerama -debug -kdehiddenvisibility -xcomposite" 

[ebuild  N    ] kde-base/libkonq-3.5.3  USE="arts kdeenablefinal xinerama -debug -kdehiddenvisibility" 

[ebuild  N    ] kde-base/kdebase-data-3.5.3  USE="arts kdeenablefinal xinerama -debug -kdehiddenvisibility" 

[ebuild  N    ] kde-base/kicker-3.5.3-r1  USE="arts kdeenablefinal xinerama -debug -kdehiddenvisibility -xcomposite" 

[ebuild  N    ] kde-base/khotkeys-3.5.3  USE="arts kdeenablefinal xinerama -debug -kdehiddenvisibility" 

[ebuild  N    ] kde-base/kdesu-3.5.3  USE="arts kdeenablefinal xinerama -debug -kdehiddenvisibility" 

[ebuild  N    ] kde-base/khelpcenter-3.5.3  USE="arts kdeenablefinal xinerama -debug -kdehiddenvisibility" 

[ebuild  N    ] kde-base/kcminit-3.5.3  USE="arts kdeenablefinal xinerama -debug -kdehiddenvisibility" 

[ebuild  N    ] kde-base/kcontrol-3.5.3-r1  USE="arts ieee1394 kdeenablefinal opengl ssl xinerama -debug -kdehiddenvisibility -logitech-mouse" 

[ebuild   R   ] kde-base/kdejava-3.5.2  
```

soll ich emerge kdejava --nodeps machen, oder ist das eine schlechte idee?

danke

----------

## Carlo

Du kannst die monolithischen und die aufgesplitteten Pakete nicht mixen. kde-base/kdebase enthält kwin, libkonq, usw..

 :Arrow:  The KDE Split Ebuilds HOWTO

----------

