Bug 311812 - Export tools not loading, SO version not defined
Summary: Export tools not loading, SO version not defined
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Portability-Runtime (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-16 23:31 UTC by Andreas K. Huettel
Modified: 2022-02-05 22:33 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 6.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas K. Huettel 2012-12-16 23:31:15 UTC
Not sure which package this belongs to... This is Gentoo (yeah, sorry), with kde-4.10beta2 combined with digikam-3.0.0beta3. All modules that are part of kde proper are taken from kde, the rest from the digikam tarball. So, libkipi-4.9.90 and kipi-plugins-3.0.0beta3.

Digikam-3.0.0beta3 refuses to load the plugins, outputting the following messages:
igikam(14616)/KIPI (loading) KIPI::PluginLoader::init: Plugin  "Rajce.net-Export" has a SO version ( 0 ) which is different than libkipi ABI version ( 10 ).  Refusing to load.
digikam(14616)/KIPI (loading) KIPI::PluginLoader::init: Plugin  "Erweiterte Diaschau" has a SO version ( 0 ) which is different than libkipi ABI version ( 10 ).  Refusing to load.
...

Any hints how to get around this?
Comment 1 caulier.gilles 2012-12-17 05:02:15 UTC
You need to use libkipi from KDE 4.10 only.

Sound like you have an old version version of libkipi at the same time on your computer. ABI and API are not compatible. you need to uninstall old one before...

Gilles Caulier
Comment 2 Andreas K. Huettel 2012-12-17 20:56:49 UTC
(In reply to comment #1)
> You need to use libkipi from KDE 4.10 only.

That's what I do (4.9.90 to be precise, and the libkipi tarball is except for one .desktop file identical to the libkipi subdir of digikam-3.0.0-beta3/extras). Besides, things build fine (which would not happen with 4.9, I know.)

No obvious duplicates, and re-building and installing libkipi does not change anything...

huettel@pinacolada /usr $ find /usr -name libkipi.so*
/usr/lib64/libkipi.so.10
/usr/lib64/libkipi.so
/usr/lib64/debug/usr/lib64/libkipi.so.10.0.0.debug
/usr/lib64/libkipi.so.10.0.0
huettel@pinacolada /usr $ ls -l /usr/lib64/libkipi*
lrwxrwxrwx 1 root root     13  9. Dez 00:16 /usr/lib64/libkipi.so -> libkipi.so.10
lrwxrwxrwx 1 root root     17  9. Dez 00:16 /usr/lib64/libkipi.so.10 -> libkipi.so.10.0.0
-rwxr-xr-x 1 root root 172408  9. Dez 00:16 /usr/lib64/libkipi.so.10.0.0
lrwxrwxrwx 1 root root     19 18. Nov 20:52 /usr/lib64/libkipiplugins.so -> libkipiplugins.so.3
lrwxrwxrwx 1 root root     23 18. Nov 20:52 /usr/lib64/libkipiplugins.so.3 -> libkipiplugins.so.3.0.0
-rwxr-xr-x 1 root root 406240 18. Nov 20:51 /usr/lib64/libkipiplugins.so.3.0.0

Tracking this down... the comparison is in libkipi/pluginloader.cpp line 321. "10" as SO version for libkipi actually looks good to me (correct me if I'm wrong). The problem then is the "0" for the kipi-plugins. This is loaded from the desktop files in  libkipi/pluginloader.cpp line 307...

What happens if the service .desktop files are not found? Could this result in binVersion==0?

(I think the kipiplugin_gpssync.desktop etc files are not installed here, I'm still trying to figure out why.)
Comment 3 Andreas K. Huettel 2012-12-17 21:02:28 UTC
> (I think the kipiplugin_gpssync.desktop etc files are not installed here,
> I'm still trying to figure out why.)

Correction, they are installed, but ...

ServiceTypes=KIPI/Plugin
X-KDE-Library=kipiplugin_jpeglossless
author=Gilles Caulier, caulier dot gilles at gmail dot com
X-KIPI-MergeMenu=true
X-KIPI-BinaryVersion=
X-KIPI-PluginCategories=Image
Comment 4 Andreas K. Huettel 2012-12-17 21:13:22 UTC
Found it.

Since we're in Gentoo building kipi-plugins in that subdirectory extras/kipi-plugins alone, the global copy of FindKipi.cmake is used (/usr/share/apps/cmake/modules/FindKipi.cmake). That copy comes from kdelibs-4.9.90, and it seems that it is older than the local one in the digikam tarball (the copyright date is from 2008 and it does not define KIPI_SO_VERSION).

May I suggest you try to get the updated cmake file(s?) into kdelibs before 4.10 gets out? :)

Thanks in advance!
Comment 5 Andreas K. Huettel 2012-12-17 21:44:50 UTC
OK I can confirm 
* after adding an updated FindKipi.cmake to the kdelibs files, 
* and rebuilding kipi-plugins, 
all is fine.

BTW, kdelibs(-4.9.90) also installs old versions of FindKdcraw.cmake and FindKexiv2.cmake.  Right now this only seems to lead to warnings, but breakage is possible.
Comment 6 caulier.gilles 2012-12-17 22:26:58 UTC

*** This bug has been marked as a duplicate of bug 307213 ***
Comment 7 caulier.gilles 2018-02-04 11:05:04 UTC
Problem fixed in 6.0.0 where all tools are now in digiKam core