[kde-linux] JPEG 7 vs KDE-4.4 (DLL HELL comes to Linux?)

Duncan 1i5t5.duncan at cox.net
Fri Mar 12 13:37:03 UTC 2010


James Tyrer posted on Fri, 12 Mar 2010 04:23:27 -0700 as excerpted:

> James Tyrer wrote:
>> James Tyrer wrote:
>> 
>>> Wrong JPEG library version: library is 70, caller expects 62
>> 
>> This message appears to be coming from the JPEG library.  So, this
>> appears to be a bug.  If KDE functions require version 62, then the
>> build system needs to be able to link to it by version number.  I don't
>> have a lot of experience with CMake, so I don't know exactly how to do
>> this as I would with autotools.
>> 
> Jpeg 8a gives the same error message with a different version.  This is
> a JPEG error message.  It is in jerror.h at line 57.  Could this be a Qt
> bug?

It's coming from the jpeg library, yes, but what it's indicating is that 
you still have something built against 6.x (6.2, maybe 6b, whatever).  
It's something built against 6b or whatever that's calling/loading the 
library, and getting 7 (or 8a) instead of 6b or whatever.

As I mentioned, Gentoo has a script (called revdep-rebuild) that detects 
and suggests a rebuild of such (reverse) dependencies.  The core of it is 
ldd

ldd is a standard script (part of the glibc package) that tells the glibc 
loader to fake-load a program, printing the shared library dependencies 
along with where it's finding them as it does so, rather than actually 
loading the bin/so normally.

The revdep-rebuild script then uses this information as well as the 
dependencies in the package database to figure out what needs rebuild, and 
either do it, or tell you what it'd rebuild.

Of course the package database dependency bit is portage specific, but you 
can do the same thing more or less manually, or build your own script that 
would spit out only the bad ones, so you could figure out what needs 
rebuild and keep all your reverse dependencies in order.  If you want to 
try building such a script, and want a look at revdep-rebuild, I can mail 
it to you.

Meanwhile, here's what portage says depends directly on jpeg, here, so 
this is what you might wish to start checking, especially the kde-base 
packages.  Note that Gentoo at least, has gwenview (appears to be... 
kdegraphics if you're doing the full tarball) requiring 8a minimum, so you 
may wish to ensure it's installed.  As you should be able to see below, 
the rest of the kde packages, at least the ones I have installed (I don't 
have the full set) seem happy with pretty much any jpeg version.

 * These packages depend on jpeg:
app-text/ghostscript-gpl-8.71-r1 (>=media-libs/jpeg-6b)
app-text/poppler-0.12.4 (jpeg ? >=media-libs/jpeg-7:0)
dev-java/icedtea6-bin-1.7.1 (>=media-libs/jpeg-8)

kde-base/gwenview-4.4.1-r1 (>=media-libs/jpeg-8a)
kde-base/kdelibs-4.4.1-r1 (media-libs/jpeg:0)
kde-base/libkdcraw-4.4.1 (media-libs/jpeg)
kde-base/libkexiv2-4.4.1 (media-libs/jpeg)
kde-base/okular-4.4.1 (jpeg ? media-libs/jpeg:0)

media-gfx/graphviz-2.26.3-r1 (>=media-libs/jpeg-6b)
media-gfx/imagemagick-6.5.9.4-r1 (jpeg ? >=media-libs/jpeg-6b:0)
media-gfx/sane-backends-1.0.20-r3 (sane_backends_dc210 ? >=media-libs/
jpeg-6b)
media-libs/gd-2.0.35-r1 (jpeg ? >=media-libs/jpeg-6b)
media-libs/jasper-1.900.1-r3 (jpeg ? media-libs/jpeg)
media-libs/lcms-1.19 (jpeg ? media-libs/jpeg:0)
media-libs/libmng-1.0.10 (>=media-libs/jpeg-6b:0)
media-libs/libquicktime-1.1.5 (jpeg ? media-libs/jpeg)
media-libs/tiff-3.9.2-r1 (jpeg ? >=media-libs/jpeg-6b:0)
media-video/mjpegtools-1.9.0-r1 (media-libs/jpeg:0)
media-video/mplayer-1.0_rc4_p20100213-r1 (jpeg ? media-libs/jpeg)
media-video/transcode-1.1.5-r1 (jpeg ? media-libs/jpeg:0)
net-libs/xulrunner-1.9.2-r4 (>=media-libs/jpeg-7)
net-print/cups-1.4.2-r1 (jpeg ? >=media-libs/jpeg-6b:0)
www-client/links-2.2 (jpeg ? >=media-libs/jpeg-6b)
www-client/mozilla-firefox-3.6-r4 (>=media-libs/jpeg-7)
x11-libs/gtk+-2.18.7 (jpeg ? >=media-libs/jpeg-6b-r2:0)
x11-libs/qt-gui-4.6.2 (media-libs/jpeg:0)

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




More information about the kde-linux mailing list