[kde-linux] Re: Digikam and Gwenview cannot find kipi plugins
Duncan
1i5t5.duncan at cox.net
Tue Jul 12 23:41:43 UTC 2011
Bogus Zaba posted on Tue, 12 Jul 2011 20:20:44 +0100 as excerpted:
> OK - the ...services/kipiplugin_*.desktop files were all there - in the
> same directory as you have them.
>
> I then went on to the strace on gwenview and modifying slightly your
> suggested command, ran:
>
> strace -feopen gwenview 2>&1 | grep kipi
>
> grepping out just the open files with "kipi" in the filenames...
>
> output was quite simple:
>
> open("/usr/lib/qt/lib/libkipi.so.7", O_RDONLY) = -1 ENOENT (No such file
> or directory)
> open("/usr/lib/libkipi.so.7", O_RDONLY) = 3
That's all? Wow. I expected a whole slew. But see below...
> which I took to mean the first search for libkipi.so.7 failed (in the qt
> sub-directory) but the second one (in /usr/lib/) worked OK. Check - that
> file exists (it's a symlink to /usr/lib/libkipip.so.7.1.0) so that
> appears to be OK. However what I notice in this directory is that this
> file - libkipi.so.7.1.0 and its symlinks is old (March 2011) and was not
> part of the install that my latest slackware package did. There is
> another file (with symlinks) called /usr/lib/libkipiplugins.so.1.0.0
> which *is* part of the latest install.
>
> I guess I should remove / rename the old files - gwenview may then carry
> on looking for the newer files (libkipiplugins rather than libkipi) and
> the plugins might start up correctly?
See the subthread Anne started. There's a second package, libkipi (no -
plugins) on my system, apparently libkipi-plugins on hers. I was
initially searching for kipi-plugins and didn't see it.
Youre strace reveals that the actual plugins are dynamically loaded only
when I click on the plugins menu, obviously after gwenview has already
started. Until I click on that menu, using your strace, only libkipi is
loaded, with two strace/grep hits parallel to yours.
There are some minor differences. I'm on amd64 here, which on Gentoo
uses lib64 not lib, but that's trivial. And instead of libkipi.so.7,
here, it loads libkipi.so.8, presumably bumped for kde 4.7 as I'm running
4.6.95 aka 4.7-rc2.
Here's the first few lines of the strace after I've clicked on the plugins
menu, without doing anything else. The first lines (without a pid)
appear on initial load, those after (with the pid, illustrating why I've
begun using -f on my straces by default, now) appear only after I've
first opened the plugins menu.
strace -feopen gwenview 2>&1 | grep kipi
open("/usr/lib64/qt4/libkipi.so.8", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/lib64/libkipi.so.8", O_RDONLY) = 3
[pid 6055] open("/usr/lib64/kde4/kipiplugin_advancedslideshow.so",
O_RDONLY) = 19
[pid 6055] open("/usr/lib64/qt4/libkipiplugins.so.1", O_RDONLY) = -1
ENOENT (No such file or directory)
[pid 6055] open("/usr/lib64/libkipiplugins.so.1", O_RDONLY) = 19
A quick equery (gentoo package database querying tool) reveals these hits
for (regex) .*libkipi.so.* (kde-base is the gentoo category, ignore it
since you're not on gentoo)
kde-base/libkipi-4.6.95 (/usr/lib64/libkipi.so -> libkipi.so.8)
kde-base/libkipi-4.6.95 (/usr/lib64/libkipi.so.8 -> libkipi.so.8.0.0)
kde-base/libkipi-4.6.95 (/usr/lib64/libkipi.so.8.0.0)
Since 4.6.95 is the kde version I'm running, you probably have a
similarly named package with a version that should match your kde
version, 4.5.5 with the library version 7.x.y that you mentioned. That
should own those libs/symlinks, which should be opened as gwenview starts
(as they were).
Then your kipi-plugins package should own a bunch of kipiplugin_*.so
unversioned plugins, AND your symlink/lib libkipiplugins.so.1.0.0 . But
my strace only showed these loaded after gwenview starts and I opened the
plugins menu.
I'm not sure where that leaves you on the problem, but we DO know that
both libkipi.so and libkipiplugins.so are used, now.
Oh, and ldd /usr/bin/gwenview | grep kipi reveals that libkipi.so.8
(presumably .7 there) is directly linked into gwenview. Since it's
linked in, without it, gwenview likely won't run at all.
libkipiplugins.so.* is not linked in. It and the various plugins are
loaded dynamically if they are found. If not, they're simply not loaded
and not listed, but gwenview should still run.
(FWIW, I don't have digikam installed. I don't have a camera and it had
some dependencies I didn't want to bother with. But I have gwenview
installed and the plugins working, so that's why I've been using it
thruout.)
--
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