Synopsys: During an upgrade of KDE (bug #52732), meinproc crashes with the error that /usr/lib/libpthread.so is not a recognised shared library. Upon inspection it was discovered that /usr/lib/libpthread.so.0 is symbolically linked to /usr/lib/libpthread.so, and that file contains the following definition: /* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ OUTPUT_FORMAT(elf32-i386) GROUP ( /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a ) This then triggers a weird circular dependency between libpthread.so.0 and libpthread.so. Upgrading glibc and gcc does not help because installation appears to either simply overwrite (and not rm {} ; cp {}), or the .so.0 file is not built and installed. Replication (assumes that KDE is installed): 1) mkdir /usr/lib/pthread_save # sanity check... 2) cp /usr/lib/libpthread* /usr/lib/pthread_save # save it just in case 3) rm /usr/lib/libpthread.so.0 4) ln -s /usr/lib/libpthread.so /usr/lib/libpthread.so.0 5) meinproc the above should cause the previously described error 6) rm /usr/lib/libpthread* if you do not do this then the .so.0 will remain a problem 7) emerge glibc (choose some recent version -- I installed glibc-2.3.4.20040605-r1.ebuild) 8) ls -l /usr/lib/libpthread* no .so.0 ... 9) meinproc works fine... 10) rm -r /usr/lib/pthread_save # clean up the mess left Thoughts: The above may have been brought about by several factors and the best solution may range from removing the original libs before installing new ones, changing the .so definition to reflect the fact that there is no .so.0 currently installed, or who knows what, but this bug is one of those that are likely caused from upgrading from a very specific glibc and is only likely to bite a couple of people...
reopen with output from emerge --info please.
I am not sure if you wanted the original configuration or the one OI totially hacked, so here are both (first extracted from the #52732 bug report, and the second is the current status ================================================================= ================================================================= ================================================================= Emerge --info follows: Portage 2.0.50-r7 (default-x86-1.4, gcc-3.4.0, glibc-2.3.3_pre20040529-r0, 2.6.3) ================================================================= System uname: 2.6.3 i686 Celeron (Coppermine) Gentoo Base System version 1.4.10 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium3 -funroll-loops -fprefetch-loop-arrays -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium3 -funroll-loops -fprefetch-loop-arrays -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X Xaw3d acpi alsa apache2 apm arts avi berkdb bonobo crypt cups emacs encode esd foomaticdb gdbm gif gphoto2 gpm gtk gtk2 imap imlib java jpeg kde ldap libg++ libwww mad mikmod motif mozilla mpeg mpi ncurses nls oggvorbis opengl oss pam pcmcia pdflib perl plotutils pmeg png pnp python qt quicktime readline sdl slang spell ssl svga tcltk tcpd tetex truetype trusted usb wxwindows x86 xml2 xmms xv zlib" ================================================================= ================================================================= ================================================================= Emerge --info follows: Portage 2.0.50-r8 (default-x86-1.4, gcc-3.4.0, glibc-2.3.4.20040605-r1, 2.6.3) ================================================================= System uname: 2.6.3 i686 Celeron (Coppermine) Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium3 -funroll-loops -fprefetch-loop-arrays -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref:/usr/X11R6/lib/X11/xkb:/usr/kde/3.2/share/config:/usr/kde/3.1/share/config:/usr/share/texmf/tex/generic/config/ /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/:/usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/gconf:/etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium3 -funroll-loops -fprefetch-loop-arrays -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X Xaw3d acpi alsa apache2 apm arts avi berkdb bonobo crypt cups emacs encode esd foomaticdb gdbm gif gphoto2 gpm gtk gtk2 imap imlib java jpeg kde ldap libg++ libwww mad mikmod motif mozilla mpeg mpi ncurses nls oggvorbis opengl oss pam pcmcia pdflib perl plotutils pmeg png pnp python qt quicktime readline sdl slang spell ssl svga tcltk tcpd tetex truetype trusted usb wxwindows x86 xml2 xmms xv zlib"
your .so in /usr/lib says /lib/libpthread.so.0, which should exist and be used... i dont know why it would be attempting to access /usr/lib/libpthread.so.0 instead. but /lib/libpthread.so.0 does indeed exist, and on my system it points to /lib/libpthread-0.10.so. on an nptl system, it will point somewhere else. (0.61 i think?)
Actually I do not have /lib/libpthread.so.0, /lib/libpthread-0.10.so, or anthing like that. Which packages should install them? (now I wish there was some way to view the files that get installed from emerge -- maybe a new emerge option ;-)
emerge gentoolkit i get the following from it: ayanami root # qpkg -f /lib/libpthread.so.0 sys-libs/glibc * ayanami root # qpkg -f /lib/libpthread-0.10.so sys-libs/glibc *
Ahhh... There were both a /lib/libpthread.so.0 and a /usr/lib/libpthread.so.0; the latter being a symbolic link to /usr/lib/libpthread.so. The latter is which caused all the problems. Also note that a qpkg -l /usr/lib/libpthread.so.0 returns no result. So I still question where the link came from 8-/ Thanks!
crazy
At this point I this is closed unless someone else runs into this problem and can give more info where the rogue file /usr/lib/libpthread.so.0 came from. As a note, I have been running Gentoo 2.4 and 2.6 kernels on this machine for a few years and the link could have come from anywhere and anywhen...