More libalkimia problems/questions was: problems compiling 4.8 on system with both qt4 and qt5

Ralf Habacker ralf.habacker at freenet.de
Mon Oct 31 22:23:36 UTC 2016


Am 31.10.2016 um 19:45 schrieb Christian David:
> Thanks for this perfect overview! I notice that Alkimia 5 should install its 
> cmake files into .../cmake/LibAlkimia-5.0/..., everything else looks okay. The 
> cmake files should be in seperate directories because cmake expects it that 
> way.
yes
> However, we could rename the include directory into alkimia-6.0 (and -5.0). 
> Then installing multiple versions is not an issue anymore. It is set by cmake 
> anyway. Maybe it should be prefix/include/alkimia-6.0/alkimia/alkvalue.h
there are already some package doing so like gstreamer e.g gstreamer-1.0
and gstreamer-2.0
> Then 
> the includes could be #include <alkimia/alkvalue.h> 
yes
> and if needed someone could create a symlink prefix/include/alkimia -> prefix/include/alkimia-6.0. 
This is not required if the include path is set in the
LibAlkimiaConfig.cmake is set to ${PACKAGE_PREFIX_DIR}/include/alkimia-6.0
> I will check how the frameworks are doing this. 
>
> The /usr/local/lib64/libalkimia.so link should not be an issue. The 
> distributions usually do not install it (except in -devel packages). 
unfortunally this will result into a package system file conflict at
least with zypper on opensuse because it points to different targets.
> Also the find_package() call ensures that the right libalkimia.so.* is selected  (if a 
> version is set). All other *.so* shared objects have unique names.
confirmed
> About pkgconfig: Since pkgconfig has no support for multiple versions we could 
> rename these files to /usr/local/lib64/pkgconfig/libalkimia-6.0.pc
I did found pkgconfig file on my opensuse system having similar version
postfixes..
> (and change the line "Libs: -lalkimia" to contain the so-version).
not sure how to add a versioned library name here as the linker has some
internal logic to get real library name from the -l flag.
> Or is there another style for pkgconfig?  
I did not found any related spec at
https://people.freedesktop.org/~dbn/pkg-config-guide.html#writing
mentions. Samples only shows the usage of a number postfix like -lpng12
or -lpng16
> Also I doubt that anybody is using it — it was used by the former FindAlkimia.cmake script, though. So we are probably save to drop 
> it, all projects which use alkimia (KMyMoney, Kraft and Scrooge?!) should be cmake based.
There is one left over issue which depends on how packages are created.
At least on opensuse creating a package named libAlkimia version 5.0
(e.g LibAlkimia-devel-5.0.rpm)  and version 6.0 (named
LibAlkimia-devel-6.0.rpm) are not coinstallable. Either the package with
version 5 or version 6 need to be have another name like LibAlkimia5 or
LibAlkimia6.
An alternative  would be to use the major version of the Qt version
alkimia depends on as postfix e.g. LibAlkimia-5.0 (Qt4) and
LibAlkimia5-6.0 (Qt5) Saying things it may be useful/required to use
that postfix also on other places discussed above.

Cheers
Ralf



More information about the KMyMoney-devel mailing list