View previous topic :: View next topic |
Author |
Message |
nes Apprentice
Joined: 10 Aug 2004 Posts: 155 Location: Vienna/Austria
|
Posted: Fri Aug 11, 2006 3:36 pm Post subject: neuer gcc / troubles beim emergen |
|
|
Hallo allseits,
ich hab versucht den gcc auf 3.4 upzudaten, bin dabei nach dem Howto vorgegangen. Das 'emerge -eav System' ging gut, das darauf folgende 'emerge -eav world' ist nach über 400 Paketen abgebrochen (Beim Paket libgphoto2, entsprechende Fehlermeldung hab ich leider nicht mehr).
Erste Frage: Wenn mir das 'emerge -eav world' wie geschehen in der Mitte abbricht, kann ich dann alle Pakete die eben noch nicht neu emerget wurde in einem zweiten Lauf emergen? Wie?
Jedenfalls hab ich dann ein "revdep-rebuild" versucht, da wird das Paket noatun-plugins-3.4.3 versucht zu reinstallieren, bricht aber leider mit einem Fehler ab. Ein händisches "emerge noatun-plugins" versucht das neuere Paket noatun-plugins-3.5.2 zu installieren, das bricht aber mit dem gleichem Fehler an der gleichen Stelle ab. Hier das Log:
Code: | ...
/bin/sh ../../libtool --silent --mode=compile --tag=CXX i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/kde/3.5/include -I/usr/qt/3/include -I. -I/usr/include/db4.2 -I/usr/include/SDL -D_REENTRANT -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=athlon-xp -O2 -msse2 -pipe -ftracer -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o cmodule.lo `test -f 'cmodule.cpp' || echo './'`cmodule.cpp
/bin/sh ../../libtool --silent --mode=link --tag=CXX i686-pc-linux-gnu-g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=athlon-xp -O2 -msse2 -pipe -ftracer -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -o noatunsynaescope.bin -L/usr/kde/3.5/lib -L/usr/qt/3/lib -L/usr/lib -R /usr/kde/3.5/lib -R /usr/kde/3.5/lib -R /usr/qt/3/lib -R /usr/lib core.o main.o sdlwrap.o ui.o -lkdeui -lnoatun -lSDL -lpthread
/bin/sh ../../libtool --silent --mode=link --tag=CXX i686-pc-linux-gnu-g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=athlon-xp -O2 -msse2 -pipe -ftracer -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -o noatunsynaescope.la -rpath /usr/kde/3.5/lib/kde3 -L/usr/kde/3.5/lib -L/usr/qt/3/lib -L/usr/lib -module -avoid-version -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined synaescope.lo cmodule.lo -lkio -lnoatun -lm
/usr/kde/3.5/lib/libartsmodules.so: undefined reference to `virtual thunk to Arts::SynthModule_stub::streamInit()'
/usr/kde/3.5/lib/libartsbuilder.so: undefined reference to `virtual thunk to Arts::Loader_stub::loadObject(Arts::TraderOffer)'
/usr/kde/3.5/lib/libartsmodulesmixers.so: undefined reference to `virtual thunk to Arts::StdSynthModule::stop()'
/usr/kde/3.5/lib/libartsmodules.so: undefined reference to `virtual thunk to Arts::SynthModule_stub::streamEnd()'
/usr/kde/3.5/lib/libartsmodulesmixers.so: undefined reference to `virtual thunk to Arts::StdSynthModule::streamEnd()'
/usr/kde/3.5/lib/libartsmodules.so: undefined reference to `virtual thunk to Arts::SynthModule_stub::autoSuspend()'
/usr/kde/3.5/lib/libartsbuilder.so: undefined reference to `virtual thunk to Arts::Loader_stub::traderEntries()'
/usr/kde/3.5/lib/libartsbuilder.so: undefined reference to `virtual thunk to Arts::Loader_stub::dataVersion()'
/usr/kde/3.5/lib/libartsmodulesmixers.so: undefined reference to `virtual thunk to Arts::StdSynthModule::streamInit()'
/usr/kde/3.5/lib/libartsbuilder.so: undefined reference to `virtual thunk to Arts::Loader_stub::modules()'
/usr/kde/3.5/lib/libartsmodulesmixers.so: undefined reference to `virtual thunk to Arts::StdSynthModule::streamStart()'
/usr/kde/3.5/lib/libartsmodulesmixers.so: undefined reference to `virtual thunk to Arts::StdSynthModule::autoSuspend()'
/usr/kde/3.5/lib/libartsmodulesmixers.so: undefined reference to `virtual thunk to Arts::StdSynthModule::start()'
/usr/kde/3.5/lib/libartsmodules.so: undefined reference to `virtual thunk to Arts::SynthModule_stub::start()'
/usr/kde/3.5/lib/libartsmodules.so: undefined reference to `virtual thunk to Arts::SynthModule_stub::streamStart()'
/usr/kde/3.5/lib/libartsmodules.so: undefined reference to `virtual thunk to Arts::SynthModule_stub::stop()'
collect2: ld returned 1 exit status
make[3]: *** [noatunsynaescope.bin] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/noatun-plugins-3.5.2/work/noatun-plugins-3.5.2/noatun-plugins/synaescope'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/noatun-plugins-3.5.2/work/noatun-plugins-3.5.2/noatun-plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/noatun-plugins-3.5.2/work/noatun-plugins-3.5.2'
make: *** [all] Error 2
!!! ERROR: kde-base/noatun-plugins-3.5.2 failed.
Call stack:
ebuild.sh, line 1543: Called dyn_compile
ebuild.sh, line 938: Called src_compile
noatun-plugins-3.5.2.ebuild, line 33: 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
!!! died running emake, kde_src_compile:make
!!! If you need support, post the topmost build error, and the call stack if relevant.
|
Wie bekomm ich den Fehler weg? Und, ist's überhaupt gut, wenn ich das so angehe, der ursprüngliche Fehler war eben das abgebrochene 'emerge -eav world', sollte ich nicht eher zuerst den alten gcc löschen ('emerge -aC =sys-devel/gcc-3.3*' und dann mit einem revdep-rebuild weitermachen? Oder kann ich irgendwie auf dem abgebrochenem emerge world aufsetzen?
Danke im vorraus, lg., nes |
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3488 Location: Berlin
|
Posted: Fri Aug 11, 2006 8:31 pm Post subject: |
|
|
Ich denke, wenn Du den alten Compiler löschst, ohne den neuen installiert zu haben, dann kannst Du nicht mehr kompillieren. Wenn Du den neuen installiert hast, sollte der alte eigentlich automatisch deinstalliert werden.
Wenn Du über 400 Pakete übersetzt, denke ich ist es nicht unüblich, das etwas nicht klappt. Ich hätte erst mal die Systempakete updatet, dann den Rest. Code: | emerge -puDNtv system | Und wenn da etwas nicht geht, mal manuell die vorgegebene Installationsreihenfolge ändern. |
|
Back to top |
|
|
nes Apprentice
Joined: 10 Aug 2004 Posts: 155 Location: Vienna/Austria
|
Posted: Fri Aug 11, 2006 9:59 pm Post subject: |
|
|
flammenflitzer wrote: | Ich denke, wenn Du den alten Compiler löschst, ohne den neuen installiert zu haben, dann kannst Du nicht mehr kompillieren. ... Ich hätte erst mal die Systempakete updatet, dann den Rest. |
Der neue gcc ist bereits installiert, die SystemPakete SIND upgedatet. Folgende Befehle liefen soweit problemlos durch:
Code: | emerge -uav gcc
gcc-config i686-pc-linux-gnu-3.4.6
source /etc/profile
emerge -eav system |
Jetzt haengt's eben beim Paket noatun-plugins, Ausgabe siehe oben.
lg., nes |
|
Back to top |
|
|
SinoTech Advocate
Joined: 20 Mar 2004 Posts: 2579 Location: Neunkirchen / Saarland / Germany
|
Posted: Sat Aug 12, 2006 12:35 am Post subject: |
|
|
1. Hast du auch daran gedacht die "libstdc++-v3" zu installieren (brauchst du falls du den alten gcc löschen willst)?
2. Das zuletzt ausgeführte "emerge" kannst du mittels "emerge --resume" fortsetzen. Da du mittlerweile aber schon was anderes emerged hast, funktioniert das nicht mehr bei dem abgebrochenen "emerge -e world"
Mfg
Sino _________________ Help to answer the unanswered |
|
Back to top |
|
|
flammenflitzer Advocate
Joined: 25 Nov 2003 Posts: 3488 Location: Berlin
|
Posted: Sat Aug 12, 2006 6:01 am Post subject: |
|
|
nes wrote: | flammenflitzer wrote: | Ich denke, wenn Du den alten Compiler löschst, ohne den neuen installiert zu haben, dann kannst Du nicht mehr kompillieren. ... Ich hätte erst mal die Systempakete updatet, dann den Rest. |
Der neue gcc ist bereits installiert, die SystemPakete SIND upgedatet. Folgende Befehle liefen soweit problemlos durch:
Code: | emerge -uav gcc
gcc-config i686-pc-linux-gnu-3.4.6
source /etc/profile
emerge -eav system |
Jetzt haengt's eben beim Paket noatun-plugins, Ausgabe siehe oben.
lg., nes |
Habe da wohl nicht ordentlich gelesen. War auch schon ziemlich müde. Ich lasse einzelne Pakete, die sich nicht übersetzten lassen und von denen die ältere Version funktioniert, außen vor, bzw. werden sie immer am Ende angehangen. I.d.R. lößt sich das Problem nach einigen Tagen. |
|
Back to top |
|
|
XMath Guru
Joined: 14 Aug 2004 Posts: 435 Location: Germany, Gaimersheim
|
Posted: Sat Aug 12, 2006 7:21 am Post subject: |
|
|
Moin,
also der Fehler dort oben mäkelt an Arts rum. Haste das installiert? Aber davon geh ich mal aus, sonst hätte er die library nicht gefunden.
Probier mal zunächst arts neu zu emergen und danach nochmals noatun-plugins.
MfG |
|
Back to top |
|
|
nes Apprentice
Joined: 10 Aug 2004 Posts: 155 Location: Vienna/Austria
|
Posted: Sat Aug 12, 2006 10:20 am Post subject: |
|
|
XMath wrote: | Probier mal zunächst arts neu zu emergen und danach nochmals noatun-plugins. |
Ich hab Arts neu emerget, ging alles gut. Danach eben wieder noatun-plugins (bzw. auch noatun). Bringt leider nichts, der Fehler bleibt.
lg., nes |
|
Back to top |
|
|
Keepoer Apprentice
Joined: 30 Mar 2004 Posts: 293 Location: Zwischen Kassel und Edewecht pendelnd
|
Posted: Sat Aug 12, 2006 11:33 am Post subject: |
|
|
Hi,
ich hatte auch Ewigkeiten Probleme als ich damals von x86 auf i686 umstellen wollte. Ist irgendwo immer abgebrochen. Nach einigem Suchen hab ich Forum diesen Befehl gefunden:
Code: | emerge gcc libtool glibc linux-headers libstdc++-v3 && emerge -e system && emerge -e system && emerge -e world |
Leider hab ich den Link nicht mehr. Grund dafür war folgender (glaube ich): Zuerst baust du den gcc (etc) neu, dann damit das System und mit dem jetzt neuen System erneut das System. Schlussendlich den Rest. Ich weiß nicht, ob das 2. mal emerge -e system überflüssig ist, bei mir hats zumindest gut funktioniert. Ich habe seitdem keine Probleme mehr - zumindest nicht mit gcc |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6749
|
Posted: Sat Aug 12, 2006 8:26 pm Post subject: Re: neuer gcc / troubles beim emergen |
|
|
nes wrote: | ich hab versucht den gcc auf 3.4 upzudaten |
Dein Problem hat vermutlich nichts mit dem gcc zu tun, sondern damit, dass gewisse Versionsnummern von Paketen bei Dir nicht mehr zusammenpassen (s. unten)
Quote: |
Erste Frage: Wenn mir das 'emerge -eav world' wie geschehen in der Mitte abbricht, kann ich dann alle Pakete die eben noch nicht neu emerget wurde in einem zweiten Lauf emergen? Wie?
|
man eix: --resume --skipfirst
Sinnvoller ist es meiner Erfahrung nach aber, sich eine Liste aller Pakete in einem File zu erstellen, und die installierten Pakete zu streichen.
Dann kann man das File an Portage verfüttern. Die zuletzt installierten Pakete findest Du mit genlop heraus.
Quote: |
Jedenfalls hab ich dann ein "revdep-rebuild" versucht, da wird das Paket noatun-plugins-3.4.3 versucht zu reinstallieren
|
Das ist das eigentliche Problem: Wie kommt es, dass Du offensichtlich noatun-plugins-3.4.3 auf Deinem System hast (sonst würde revdep-rebuild es nicht neu bauen wollen), obwohl Du eigentlich (also bei einem "normalen" emerge) die Version noatun-plugins-3.5.2 haben solltest? Vermutlich hast Du ähnliche Inkonsistenzen mit anderen Paketen, weshalb Du vermutlich noch viel mehr Probleme bekommen wirst.
Quote: | Code: | /usr/kde/3.5/lib/libartsmodules.so: undefined reference to `virtual thunk to Arts::SynthModule_stub::streamInit()'
...
|
|
Die hier aufgezählten Dateien gehören zu kdemultimedia-arts. Versuch mal, zuerst dieses Paket (in der passenden Version 3.5.2) zu
emergen/upzugraden. |
|
Back to top |
|
|
nes Apprentice
Joined: 10 Aug 2004 Posts: 155 Location: Vienna/Austria
|
Posted: Sun Aug 13, 2006 11:22 am Post subject: Re: neuer gcc / troubles beim emergen |
|
|
Ich werd versuchen die Tips im Laufe der nächsten Woche (immer hab ich halt auch keine Zeit *g*) umzusetzen, und möchte mich bei den Helfern noch bedanken. ... Wenn ich dann noch Troubles hab, meld ich mich eh wieder.
lg., nes |
|
Back to top |
|
|
nes Apprentice
Joined: 10 Aug 2004 Posts: 155 Location: Vienna/Austria
|
Posted: Mon Aug 14, 2006 6:25 am Post subject: Re: neuer gcc / troubles beim emergen |
|
|
mv wrote: | nes wrote: | Erste Frage: Wenn mir das 'emerge -eav world' wie geschehen in der Mitte abbricht, kann ich dann alle Pakete die eben noch nicht neu emerget wurde in einem zweiten Lauf emergen? Wie?
|
man eix: --resume --skipfirst
Sinnvoller ist es meiner Erfahrung nach aber, sich eine Liste aller Pakete in einem File zu erstellen, und die installierten Pakete zu streichen.
Dann kann man das File an Portage verfüttern. Die zuletzt installierten Pakete findest Du mit genlop heraus. |
Hm, richtig schlau werd ich aus "man eix" nicht, was soll das heissen?
Ich möchte so vorgehen, wie Du schreibst, also zuerst eine Liste aller Pakete in ein File, die bereits installierten streichen, und sollte es wirklich irgendwo abbrechen, den Fehler beheben und dann auf die Liste aufsetzen. Nur, wie mach ich das?
emerge -eav world >> ~/emerge.txt
gibt mir zwar die Liste, aber doch recht "unformatiert", wie würde ich im Falle eines Abbruchs auf die neu aufsetzen? Händisch editieren? Oder gibts da schon irgendein Script zu, welches die Ausgabe von "emerge" als Eingabe fuer einen neuerlichen emerge-Lauf vorbereitet?
lg., nes |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6749
|
Posted: Mon Aug 14, 2006 1:01 pm Post subject: Re: neuer gcc / troubles beim emergen |
|
|
nes wrote: | Hm, richtig schlau werd ich aus "man eix" nicht, was soll das heissen? |
Ein Typo: Ich hatte "man emerge" schreiben wollen.
Quote: |
Ich möchte so vorgehen, wie Du schreibst, also zuerst eine Liste aller Pakete in ein File, die bereits installierten streichen, und sollte es wirklich irgendwo abbrechen, den Fehler beheben und dann auf die Liste aufsetzen. Nur, wie mach ich das?
emerge -eav world >> ~/emerge.txt
gibt mir zwar die Liste, aber doch recht "unformatiert", wie würde ich im Falle eines Abbruchs auf die neu aufsetzen? Händisch editieren? Oder gibts da schon irgendein Script zu |
So mache ich's bisher: Ich lade es in Emacs, starte Macro-Aufnahme auf die F12-Taste (dafür habe ich mir mal einen Macro-Recorder implementiert - wie es mit Emacs' Standard-Konfiguration geht, müsste ich auch erst nachlesen) und editiere dann eine Zeile "passend"; danach drücke ich ein paar hundert mal (einmal pro Zeile) F12. Zeitaufwand für die gesamte Aktion ist ca. 30 Sekunden - da hat sich bislang noch kein Skript gelohnt. Aber ein "Skript" ist ja auch nicht schwer:
Code: |
emerge -epv world | sed -n 's:^.* \([^ /]*/[^ ]*\) .*$:=\1:p' >~/emerge.txt
|
Danach kannst Du die bereits installierten Pakete löschen oder mit '#' ausdokumentieren (Vorsicht: Die tatsächliche Installationsreihenfolge ist meist "grob" die selbe, unterscheidet sich dann aber immer wieder mal in Kleinigkeiten) und dann an emerge verfüttern mit
Code: |
emerge -1av $(sed '/^ *#/d' ~/emerge.txt)
|
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|