after installing gcc3.2pre, and removing gcc3.1, kde failed to um Work. complaining of a missing libstdc++ recompiling kdelib failed because some QT binary was complaining of a missing libstdc++ recompiling QT failed : /usr/qt/3/bin/moc: error while loading shared libraries: libstdc++.so.4: cannot ope n shared object file: No such file or directory /usr/qt/3/bin/moc: error while loading shared libraries: libstdc++.so.4: cannot ope n shared object file: No such file or directory
You probably need to recompile every C++ based application on your system, as the C++ ABI changed between 3.1 and 3.2 (I believe). That includes both QT and KDE as well as any affected dependency.
Sorry, I got the wrong error message heh /var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/bin/uic: error while loading shared libraries: libstdc++.so.4: cannot open shared object file: No such file or directory make[3]: *** [dbconnections.h] Error 127 make[3]: *** Waiting for unfinished jobs.... /var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/bin/uic: error while loading shared libraries: libstdc++.so.4: cannot open shared object file: No such file or directory make[3]: *** [dbconnection.h] Error 127 make[3]: Leaving directory `/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/tools/designer/designer' make[2]: *** [sub-designer] Error 2 make[2]: Leaving directory `/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/tools/designer' make[1]: *** [sub-designer] Error 2 make[1]: Leaving directory `/var/tmp/portage/qt-3.0.5/work/qt-x11-free-3.0.5/tools' make: *** [sub-tools] Error 2 !!! ERROR: The ebuild did not complete successfully. From what I can tell its trying to run something it compiled any ideas?
I'm gonna re-bootstrap with gcc3.2 and assume this is fixed I think its pretty safe to consider this closed and just make sure people bootstrap with the compiler they plan to use ok by you?
note: i completely rebuilt my system with gcc 3.2, going from 1.3b (default-1.0-gcc3) with gcc 3.1/3.1.1/3.2_pre to profile default-x86-2.0. i did it the way spider recommended it. problem: even if compiled with gcc 3.2 (verified), kde (tested with 3.0.3, i guess it's the same for previous versions) uses libstdc++.so.4 which is no longer available in gcc 3.2 (instead there is libstdc++.so.5). kde searches for libstdc++.so.4 in the following order: /usr/kde/3/lib/libstdc++.so.4 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/libstdc++.so.4 /usr/qt/3/lib/libstdc++.so.4 /usr/X11R6/lib/libstdc++.so.4 /usr/lib/libstdc++.so.4 /lib/i686/mmx/libstdc++.so.4 /lib/i686/mmx /lib/i686/libstdc++.so.4 /lib/i686 /lib/mmx /lib/libstdc++.so.4 /lib /usr/lib/i686/mmx/libstdc++.so.4 /usr/lib/i686/mmx /usr/lib/i686/libstdc++.so.4 /usr/lib/i686 /usr/lib/mmx/libstdc++.so.4 /usr/lib/mmx /usr/lib/libstdc++.so.4 /usr/lib and does not find it in any of these locations. consequently, none of the kde-apps work. workaround (assumed there still is a gcc 3.1.1): ln -s /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/libstdc++.so.4.0.1 /usr/lib/libstdc++.so.4 (setting in /etc/env.d/05gcc: LDPATH=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2 and executing env-update does not seem to be sufficient for kde-apps) (on my box gcc 3.1.1 did not get erased by 'emerge clean' after recompiling world with gcc 3.2) this does not look like a nice solution, but at least it works for now. mozilla, nt etc. have basically the same problem as kde thus this looks like a general c++ apps linking issue (though the different c++ apps i have tested seem to handle this inconsistently). probably due to building these apps by upgrading from gentoo 1.3b (and lower?) to default-x86-2.0 (particularly rebuilding from gcc-3.1.1?). hmm.. imho these apps should be convinced to always use libstdc++.so.5 from gcc 3.2 when building with gcc 3.2. unfortunately, i can't verify how all this happened atm. btw. if there are troubles with c++ apps (e.g. scrollkeeper) i suppose it might be related to this stuff.
urgh, konqueror has messed up my comment... sorry guys
interesting: http://www.visi.com/~barr/ldpath.html
did you recompile xfree?
And a: ln -s /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/libstdc++.so.5 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/libstdc++.so.4 ? Does that help ? Regards, Rigo
matthew: yes, i did recompile xfree too (verified). rigo: i've tried that already. no, it does not work (lots of error messages, probably due to c++ abi changes). but my proposed workaround works (thus the c++ apps are running now and i have not noticed any drawbacks so far). nevertheless it is rather "fighting the symptoms" than solving the problem at its source.
Actually it's a lot easier and error-free to build new gcc3.2 system than to upgrade an old gcc-3.1.x one. Just make a chroot, compile everything you need as you have time, then copy over your settings, backup the old system if you want and boot the new one. It seems more upgrades fail than not. And eventually you end up recompiling all your C++ apps anyway, which would have been cleaner and simpler in a new system.
http://www.gentoo.org/~carpaski/system_update/ - unofficial instructions and helper scripts for gcc upgrades. HTH...
this happens when upgrading from 2.95.3 as well however it looks for libstdc++-libc6.2-2.so.3 just some food for thought :)
Can I close this as per my two comments nos. 10, 11? If not it shouldn't be assigned to kde@gentoo.org.
dan, i think you should close it. i think this is just another case of a broken system from the upgrade to gcc3.[12]
Agreed.