[kde-linux] JPEG 7 vs KDE-4.4 (DLL HELL comes to Linux?)
kevin.krammer at gmx.at
Wed Mar 10 17:55:41 UTC 2010
On Wednesday, 2010-03-10, James Tyrer wrote:
> Kevin Krammer wrote:
> > On Wednesday, 2010-03-10, James Tyrer wrote:
> >> I have an interesting issue which appears to be an obscure bug or a
> >> build system issue. I updated Firefox and needed to upgrade a bunch of
> >> stuff first.
> >> I installed: "jpeg-7", but I did not remove version 6.2 pending
> >> rebuilding other packages. I did rebuild KDESupport and the KDE-4.4
> >> BRANCH tree.
> >> When I open Konqueror, it opens fine but when I open a web page (e.g.
> >> www.kde.org) it crashes without the KDE crash dialog appearing.
> >> So, I opened it in a Konsole. I get this error message:
> >> konqueror(32716)/kio (Slave) KIO::Slave::createSlave: createSlave "http"
> >> for KUrl("http://www.kde.org/images/teaser/js-jam.jpg")
> >> konqueror(32716)/kio (KIOConnection)
> >> KIO::ConnectionServer::listenForRemote: Listening on
> >> "local:/tmp/jrt-kde4/ksocket-jrt/konquerorE32716.slave-socket"
> >> Wrong JPEG library version: library is 70, caller expects 62
> > Would be interesting where this output comes from.
> Yes it would. What I can't understand is that if something is linked
> against the older JPEG library, why doesn't it just use it.
One possible reason could be dynamic opening.
Shared libraries can either be linked (basically encoding dependency at build
time) or opened and "read" during runtime.
This technique is for example used for plugins but also for optional features
depending on other libraries that one doesn't want to fully depend on (hence
The step of looking for the appropriate library is sometimes implemented by
matching file names against a certain pattern (and by applying the known so-
In case this is happening here this lookup could find the wrong version.
> > Can you check if both JPEG libraries have different so-names and whether
> > you have a .so symlink pointing to either one?
> [root at localhost lib]# ls -l libjpeg.*
> -rw-r--r-- 1 root root 247278 Mar 8 11:21 libjpeg.a
> -rwxr-xr-x 1 root root 913 Mar 8 11:21 libjpeg.la
> lrwxrwxrwx 1 root root 16 Mar 8 11:21 libjpeg.so -> libjpeg.so.7.0.0
> lrwxrwxrwx 1 root root 17 Aug 3 2009 libjpeg.so.62 ->
> -rwxr-xr-x 1 root root 140777 Aug 3 2009 libjpeg.so.62.0.0
> lrwxrwxrwx 1 root root 16 Mar 8 11:21 libjpeg.so.7 -> libjpeg.so.7.0.0
> -rwxr-xr-x 1 root root 229176 Mar 8 11:21 libjpeg.so.7.0.0
> Looks correct to me.
It certainly does.
However, do give equal footing to both version in case of a lookup as
described above, try removing the symnlink that doesn't encode any version
number, i.e. libjpeg.so -> libjpeg.so.7.0.0
Kevin Krammer, KDE developer, xdg-utils developer
KDE user support, developer mentoring
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 190 bytes
Desc: This is a digitally signed message part.
More information about the kde-linux