I just ran emerge -u world, in the course of which lesstif was updated, and now xpdf doesn't work anymore: $ xpdf xpdf: error while loading shared libraries: libXm.so.2: cannot open shared object file: No such file or directory $ ldd `which xpdf` libt1.so.5 => /usr/lib/libt1.so.5 (0x40018000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4a7d7000) libXm.so.2 => not found libXt.so.6 => /usr/lib/libXt.so.6 (0x40073000) libXp.so.6 => /usr/lib/libXp.so.6 (0x400cb000) libXext.so.6 => /usr/lib/libXext.so.6 (0x400d3000) libXpm.so.4 => /usr/lib/libXpm.so.4 (0x400e4000) libSM.so.6 => /usr/lib/libSM.so.6 (0x400f4000) libICE.so.6 => /usr/lib/libICE.so.6 (0x400fd000) libX11.so.6 => /usr/lib/libX11.so.6 (0x40115000) libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/libstdc++.so.5 (0x401e6000) libm.so.6 => /lib/libm.so.6 (0x4a6a1000) libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/libgcc_s.so.1 (0x402a1000) libc.so.6 => /lib/libc.so.6 (0x4a58a000) libz.so.1 => /lib/libz.so.1 (0x402aa000) libdl.so.2 => /lib/libdl.so.2 (0x4a585000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x4a553000) Looks like xpdf is looking for everything in /usr/lib. # qpkg -l lesstif | grep libXm /usr/X11R6/lib/lesstif/libXm.la /usr/X11R6/lib/lesstif/libXm.so -> libXm.so.2.0.1 1107354333 /usr/X11R6/lib/lesstif/libXm.so.2 -> libXm.so.2.0.1 1107354333 /usr/X11R6/lib/lesstif/libXm.so.2.0.1 But it looks as if the lesstif package puts it in /usr/X11R6/lib/lesstif. Might this have something to do with the move from xfree86 to xorg? So I make a symlink # ln -sf /usr/X11R6/lib/lesstif/libXm.so.2 /usr/lib/libXm.so.2 and I start xpdf. It works, but I get the following message: $ xpdf Warning: Cannot find callback list in XtAddCallback Maybe this is the wrong motif library? I had a look at motif: # qpkg -l motif | grep libXm /usr/lib/libXm.so.3.0.2 /usr/lib/libXm.so.3 -> libXm.so.3.0.2 1107353879 /usr/lib/libXm.so -> libXm.so.3.0.2 1107353879 /usr/lib/libXm.la /usr/lib/libXm.a But this seems to be the wrong library version. In any case, it looks as if there is something wrong here. Maybe the lesstif libs should go into /usr/lib or something?
Max: Don't symlink. Run `revdep-rebuild -p` instead. Portage doesn't support reverse dependencies yet. lesstif-0.94 installs /usr/lib/lesstif/libXm.so.2 /usr/lib/lesstif/libXm.so.2.0.1 /usr/X11R6/lib is just a symlink to ../lib xorg installs /usr/lib/libXm.so.2 /usr/lib/libXm.so.2.1 Heinrich, X11 herd, everything fine!?
Everything seems correct. Lesstif installs in /usr/X11R6/lib, with newer xorg releases in /usr/lib. I think openmotif was updated as well, the new version does not provide libXm.so.2 but libXm.so.3, so run revdep-rebuilt.
I also had this problem with xpdf. However, I was able to resolve it by simply re-emerging it. It then linked to the proper library... peter@mars ~ $ ldd /usr/bin/xpdf linux-gate.so.1 => (0xffffe000) libt1.so.5 => /usr/lib/libt1.so.5 (0x4002e000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40083000) libXm.so.3 => /usr/lib/libXm.so.3 (0x400ed000) libXt.so.6 => /usr/lib/libXt.so.6 (0x4032d000) JFYI