PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gentoo: Immer wieder die selben Probleme nach einem Compiler Upgrade


Coda
2004-07-05, 23:59:35
Nachdem ich auf GCC 3.4.1 upgegraded habe:

/bin/sh ../../libtool --silent --mode=link --tag=CXX g++ -DEXAMPLES_DIR='"/usr/kde/3.2/share/apps/artsbuilder/examples"' -DNDEBUG -DNO_DEBUG -O2 -march=athlon64 -O2 -pipe -fomit-frame-pointer -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -o libartsbuilder.la -rpath /usr/kde/3.2/lib -L/usr/X11R6/lib -L/usr/qt/3/lib -L/usr/kde/3.2/lib -L/usr/kde/3.2/lib -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined artsbuilder.lo sequenceutils.lo structurebuilder_impl.lo structures_impl.lo moduleinfo.lo compatibility.lo localfactory_impl.lo artsbuilderloader_impl.lo -lmcop -lartsflow -ldl
grep: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.la: No such file or directory
/bin/sed: can't read /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.la: No such file or directory
libtool: link: `/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.la' is not a valid libtool archive
make[3]: *** [libartsbuilder.la] Fehler 1
make[3]: Leaving directory `/var/tmp/portage/kdemultimedia-3.2.3/work/kdemultimedia-3.2.3/arts/runtime'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/var/tmp/portage/kdemultimedia-3.2.3/work/kdemultimedia-3.2.3/arts'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/var/tmp/portage/kdemultimedia-3.2.3/work/kdemultimedia-3.2.3'
make: *** [all] Fehler 2

Gibt es da einen generellen Lösungsansatz? Es kam auch schon vor das es mir danach das komplette System zerlegt hat.

Mike
2004-07-06, 01:08:07
hm, also 3.4.1 is ja noch nich ma in portage(zumindest vorhin noch nicht), da muss man mit fehlern rechnen :)
ansonsten gibts auf gentoo.org n gcc 3.4 thread(portage&programming), da gehört das hinein, und da wird man dir auch besser helfen können..
(bzw, wenn du n amd64 system hast, evtl mal ins amd64 forum gucken, ob da auch schon n gcc 3.4 thread oder sowas existiert..)

Coda
2004-07-06, 02:33:33
Es ist im Portage.
Und ich glaube nicht dass das was mit x86_64 zu tun hat.

(del676)
2004-07-06, 06:59:17
aber is ist als masked markiert, und nicht mal Keywords ~x86 ~amd64 sondern sogar noch KEYWORDS="-*"

insofern musst du eben mit sowas rechnen

tux-fan
2004-07-06, 08:51:55
Der Fehler liegt wohl in diesen Zeilen. Liegt libstdc++ vielleicht in 3.4.1 statt in 3.4.0 ?

grep: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.la: No such file or directory
/bin/sed: can't read /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.la: No such file or directory


edit: Beim Kompilieren von kdemultimedia solltest Du vielleicht vorher auch "opengl-update xfree" ausführen. Mit opengl noch auf nvidia hatte ich schon öfter Problemem beim Übersetzen.

bluey
2004-07-06, 09:27:58
welchen Linux-Header benutzt du? 2.6.7 hat bei mir auch Fehler verursacht.Am Besten 2.6.6 und GLIBC neu kompilieren.

Gnafoo
2004-07-06, 16:15:04
Original geschrieben von tux-fan
Der Fehler liegt wohl in diesen Zeilen. Liegt libstdc++ vielleicht in 3.4.1 statt in 3.4.0 ?

grep: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.la: No such file or directory
/bin/sed: can't read /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.la: No such file or directory


edit: Beim Kompilieren von kdemultimedia solltest Du vielleicht vorher auch "opengl-update xfree" ausführen. Mit opengl noch auf nvidia hatte ich schon öfter Problemem beim Übersetzen.

Denke auch, dass es daran liegt. Die Frage ist nur, woher libtool den Pfad hat. Ein Symlink von 3.4.0 auf 3.4.1 könnte evtl helfen, ist aber nicht die feine Art.
Wenn ich mir das libtool-script (/usr/bin/libtool) mal genauer ansehe, sieht es so aus, als ob die Pfade hardgecoded wären.

Versuch doch mal libtool neu zu emergen:


emerge --oneshot libtool


cu DerTod

Coda
2004-07-06, 16:31:03
Original geschrieben von tux-fan
Der Fehler liegt wohl in diesen Zeilen. Liegt libstdc++ vielleicht in 3.4.1 statt in 3.4.0 ?

grep: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.la: No such file or directory
/bin/sed: can't read /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.0/libstdc++.la: No such file or directory


edit: Beim Kompilieren von kdemultimedia solltest Du vielleicht vorher auch "opengl-update xfree" ausführen. Mit opengl noch auf nvidia hatte ich schon öfter Problemem beim Übersetzen.
Tatsächlich? Ich dachte bei GCC 3.4.1 liegt die libstdc++ in 7.2.3
Soweit kann ich auch denken. Die Frage ist nur warum er die alte will.

Gnafoo
2004-07-06, 17:15:35
Emerge libtool schon getestet ?
Bei mir ist da drin zum Beispiel hardgecodet:


compiler_lib_search_path="-L/usr/lib/gcc-lib/i486-pc-linux-gnu/3.3.3 -L/usr/lib/
gcc-lib/i486-pc-linux-gnu/3.3.3/../../../../i486-pc-linux-gnu/lib -L/usr/lib/gcc
-lib/i486-pc-linux-gnu/3.3.3/../../.."


(Die Verzeichnisse enthalten libstdc++.la)
Das wird bestimmt mit autoconf/automake beim installieren von Libtool generiert. Und von libtool scheint das Problem ja auszugehen.

cu DerTod

Mike
2004-07-07, 14:15:12
Also, es gibt ein Script das diese Probleme fixt, allerdings bisher inkompatibel mit GCC 3.4.x, es wird aber daran gearbeitet..

tux-fan
2004-07-08, 22:04:35
Original geschrieben von Coda
Tatsächlich? Ich dachte bei GCC 3.4.1 liegt die libstdc++ in 7.2.3
Soweit kann ich auch denken. Die Frage ist nur warum er die alte will.

Das freut mich natürlich, daß Du denken kannst. Dann beseitige das Probleme doch einfach.