[Digikam-devel] Re: [libkipi] /: dump API/ABI version to be homogenous with all other shared digiKam libs, improved with GoSC 2010

Marcel Wiesweg marcel.wiesweg at gmx.de
Thu Mar 17 19:57:01 GMT 2011


> Git commit 968c433eee9a36d34feb03848720a8e8c58e2598 by Gilles Caulier.
> Committed on 17/03/2011 at 19:57.
> Pushed by cgilles into branch 'master'.
> 
> dump API/ABI version to be homogenous with all other shared digiKam libs,
> improved with GoSC 2010

Gilles, this is a very critical change! 
I suggest not to bump the API until we really need, and we dont need - the 
relevant changes were already shipped with KDE 4.6 and ABI 8.0

Why? This will crash gwenview.
libkipi is different from all other libraries: The host application links to 
it, and the plugins link to it.
Now KDE 4.6 gwenview will link to libkipi.1.2, and newly installed plugins 
will link to libkipi.2.0. Gwenview will happily load the plugins, and crash 
then. There is no way to have two versions of the plugins installed (like 
having multiple versions of the library installed).

In the latest git, but not in KDE 4.6, is a safety mechanism that will not 
load the plugins. The gwenview does not crash, but plugins dont work. Better, 
but still bad.

=> if we can at any cost avoid, do not increase ABI version




> 
> M  +4    -3    CMakeLists.txt
> 
> http://commits.kde.org/libkipi/968c433eee9a36d34feb03848720a8e8c58e2598
> 
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index ede713e..e6c1f3e 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -59,10 +59,11 @@
> ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=${LIBKIPI_AREA_CODE_GENERAL}) #
> 1.0.0 => 7.0.0  (released with KDE 4.4.0)
>  # 1.1.0 => 7.1.0  (released with KDE 4.5.0)
>  # 1.2.0 => 8.0.0  (released with KDE 4.6.0)
> +# 2.0.0 => 9.0.0  (released with KDE 4.7.0)
> 
>  # Library API version
> -SET(KIPI_LIB_MAJOR_VERSION "1")
> -SET(KIPI_LIB_MINOR_VERSION "2")
> +SET(KIPI_LIB_MAJOR_VERSION "2")
> +SET(KIPI_LIB_MINOR_VERSION "0")
>  SET(KIPI_LIB_PATCH_VERSION "0")
> 
>  # Suffix to add at end of version string. Usual values are:
> @@ -76,7 +77,7 @@ SET(KIPI_LIB_SUFFIX_VERSION "")
> 
>  # Library ABI version used by linker.
>  # For details :
> http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-i
> nfo -SET(KIPI_LIB_SO_CUR_VERSION "8")
> +SET(KIPI_LIB_SO_CUR_VERSION "9")
>  SET(KIPI_LIB_SO_REV_VERSION "0")
>  SET(KIPI_LIB_SO_AGE_VERSION "0")




More information about the Digikam-devel mailing list