On 09/23/2009 10:14 AM, [email protected] wrote:
Gentoo updates refuse to install both versions 6 and 7 of jpeg, and I have found that certain applications, like emacs, refuse to remerge with -7 so I have been refusing the -7 update for a month or two now. Every once in a while, one slips by me, usually because I forget to remove thunderbird from the list of updates, and I find out when emacs won't run. If I try to build emacs with -7, it complains, so I remerge jpeg-6 and then emacs is happy again. I do not understand the compat lib; it also blocks, and since I can just refuse the -7 update and keep on working, I have not looked into it much, figuring that sooner or later emacs and other packages will be upgraded to handle jpeg-7.Recently another jpeg-7 upgrade slipped past me, only this time it got weird. I remerged jpeg-6 and found that emacs now complained that jpeg-7 was missing. Here is "ldd /usr/emacs/bin|grep jpeg": libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00007f0cbd19f000) libjpeg.so.7 => not found Now I am puzzled. If jpeg-6 and -7 block each other, how did emacs end up expecting both?...
ldd is actually recursive and lists not only the libs linked to emacs directly but also they libs *they* are linked to. There was a bug recently where the same library was both 'found' and 'not found' at the same time. If you do an ldd on each of the libs separately you should find out which one is expecting which libjpeg. BTW, I have jpeg-7 on my ~amd64 machine and I didn't even know it, and emacs works okay. I can see why it wouldn't work for you as long as emacs has conflicting dependencies like the above, though.

