Comment 24 for bug 145239

Revision history for this message
In , Achim Bohnet (allee) wrote :

Reproduceable in Kubuntu/Dapper and SuSE 10.1.

#6 (Marcus Meisner) #10 (Hubert Fuguiere):

also in Kubuntu/Dapper and debian/sid libghoto2 2.1.6 and 2.2.0 (rebuild debian
pkg in dapper) have both major version 2:

$ l 2.*/usr/lib/libgph*.so.2.*
-rw-r--r-- 1 ach ach 101800 2006-05-10 16:31 2.1.6/usr/lib/libgphoto2.so.2.0.3
-rw-r--r-- 1 ach ach 101696 2006-06-20 00:40 2.2/usr/lib/libgphoto2.so.2.1.0
$ objdump -p 2.*/usr/lib/libgph*.so.2.* | grep SONAME
  SONAME libgphoto2.so.2
  SONAME libgphoto2.so.2

Gilles and I tried to rebuild digikam with libgphoto2-2 installed.
Still without the 2.2.0's .la files camera list is empty. So it's
a runtime, not a build time problem.

One difference between 2.1.6 and 2.2.0 is that the camera plugins
are
    /usr/lib/libgphoto2/2.1.6/libgphoto2_<type>.so
and
    /usr/lib/libghoto2/2.2.0/<type>.so
respectively.

With strace one gets:

$ strace digikam --detect-camera 2>&1 | grep /usr/lib/libgphoto2/2.2.0/
open("/usr/lib/libgphoto2/2.2.0/adc65.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libgphoto2/2.2.0/adc65", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libgphoto2/2.2.0/agfa_cl20.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libgphoto2/2.2.0/agfa_cl20", O_RDONLY) = -1 ENOENT (No such file or directory)
...

and for gtkkam instead

allee(130) ~/tmp $ strace gtkam 2>&1 | grep /usr/lib/libgphoto2/2.2.0/
open("/usr/lib/libgphoto2/2.2.0/adc65.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libgphoto2/2.2.0/adc65.so", O_RDONLY) = 5
open("/usr/lib/libgphoto2/2.2.0/agfa_cl20.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libgphoto2/2.2.0/agfa_cl20.so", O_RDONLY) = 5

So while gtkam and digikam use the same libgphoto2

$ ldd /usr/bin/digikam | grep libgphoto
        libgphoto2.so.2 => /usr/lib/libgphoto2.so.2 (0xb6565000)
        libgphoto2_port.so.0 => /usr/lib/libgphoto2_port.so.0 (0xb653e000)
$ ldd /usr/bin/gtkam | grep libgphoto
        libgphoto2.so.2 => /usr/lib/libgphoto2.so.2 (0xb7f0c000)
        libgphoto2_port.so.0 => /usr/lib/libgphoto2_port.so.0 (0xb7f05000)

the sequence of files that the apps try to open differ.

    digikam: .la, then ""
    gtkam: .la, then .so

With the .la files installed digikam tries .la then .so as gtkam does
even without the .la files. [the .la files are in kubuntu and debian
in the pkg libghoto2-2-dev, that's the reason why the hack/workaround
of installing the 2.2.0 devel pkgs fixes a runtime problem]

Both use the same ltdl library:

$ ldd /usr/bin/digikam /usr/bin/gtkam | grep ltdl
        libltdl.so.3 => /usr/lib/libltdl.so.3 (0xb62ec000)
        libltdl.so.3 => /usr/lib/libltdl.so.3 (0xb761d000)

I've no glue yet what goes wrong. My guess is that somehow KDE seems
to influence the list of extentions and makes digikam/libghoto2 combo
fail to dynamicly load the camera drivers.

coolo ping? ;)

Achim