Bug 272522

Summary: Digikam cannot compile from source code
Product: [Applications] digikam Reporter: Ryan Rix <ry>
Component: Portability-CompilationAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, pavel1r, sputnick
Priority: NOR    
Version: 2.0.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 5.1.0
Sentry Crash Report:

Description Ryan Rix 2011-05-05 12:20:53 UTC
Version:           2.0.0 (using Devel) 
OS:                Linux

the Digikam repository cannot be configured using CMake as it cannot find a properly installed copy of libkmap or libkface

Reproducible: Always

Steps to Reproduce:
1) install libkface and libkmap from KDE git
2) git clone kde:digikam
3) mkdir digikam/build && cd digikam/build
4) cmake ..

Actual Results:  
CMake Error at CMakeLists.txt:90 (MESSAGE):   
digiKam needs libkface. You need to install the libkface (version >= 0.1.0) library development package.
Call Stack (most recent call first):
  CMakeLists.txt:300 (PRINT_LIBRARY_STATUS)

and 


CMake Error at CMakeLists.txt:90 (MESSAGE):
   digiKam needs libkmap. You need to install the libkmap (version >= 0.1.0) library development package.
Call Stack (most recent call first):
  CMakeLists.txt:301 (PRINT_LIBRARY_STATUS)

errors are reported

Expected Results:  
CMake succeeds and compilation works as expected

This is due to the way you guys are searching for the packages. It works just fine when I clone using your silly digikam-software-compilation thing, but I refuse to use that, as it means that I have to keep around multiple clones of these repositories, and it helps to perpetuate the idea that bundling these libraries with your software is okay. I really have a problem with this, as this complete inability to build without the bundled libraries is going to keep digikam 2.0 out of every sane and sensible distribution because they simply *WILL NOT* allow bundled libraries. If this software can't build without these libraries, you guys are hurting your users.
Comment 1 Christoph Feck 2011-05-05 14:16:44 UTC
I have no problem compiling Digikam/master from the git repositories. Make sure you install libkmap/libkface in a prefix that Digikam searches via CMAKE_PREFIX_PATH and/or PKG_CONFIG_PATH.
Comment 2 Christoph Feck 2011-05-05 14:28:58 UTC
My previous comment should not indicate that there is no bug in the way those libraries are installed or searched, though.

If in doubt, attach cmake output and CMakeCache.txt from the libraries, as well as from digikam, along with relevant environment variables, in particular $PKG_CONFIG_PATH, $CMAKE_PREFIX_PATH and any that you set on the cmake command line.
Comment 3 Ryan Rix 2011-05-05 21:31:41 UTC
I'm configuring with `cmake -DCMAKE_INSTALL_PREFIX=~/dev/install/usr/ -DLIB_SUFFIX=64 -DPYTHON_SITE_PACKAGES_DIR=/home/rrix/.local/lib/python2.6/site-packages` for all of my packages.

kmap headers installed to /home/rrix/dev/install/usr/include/libkmap/
kface headers installed to /home/rrix/dev/install/usr/include/libkface/
accordingly

cmake configuration output:
<standard cmake configuration>
-- Found KDE 4.7 include dir: /home/rrix/dev/install/usr/include
-- Found KDE 4.7 library dir: /home/rrix/dev/install/usr/lib64
-- Found the KDE4 kconfig_compiler preprocessor: /home/rrix/dev/install/usr/bin/kconfig_compiler
-- Found automoc4: /home/rrix/dev/install/usr/bin/automoc4
-- checking for module 'lcms'
--   found lcms, version 1.19
-- Found LCMS: /usr/lib64/liblcms.so 
-- Found JPEG: /usr/lib64/libjpeg.so 
-- Found ZLIB: /usr/include 
-- Found PNG: /usr/lib64/libpng.so 
-- Found TIFF: /usr/lib64/libtiff.so 
-- Found Jasper: /usr/lib64/libjasper.so 
-- Check Kdcraw library in local sub-folder...
-- Check Kdcraw library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro use FindPkgConfig
-- Found libkdcraw release >= 0.2.0
-- Found libkdcraw: /usr/lib64/libkdcraw.so
-- Check Kexiv2 library in local sub-folder...
-- Check Kexiv2 library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro use FindPkgConfig
-- Found libkexiv2 release >= 0.2.0
-- Found libkexiv2: /usr/lib64/libkexiv2.so
-- Check Kipi library in local sub-folder...
-- Check Kipi library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro use FindPkgConfig
-- Found libkipi release >= 0.2.0
-- Found libkipi: /usr/lib64/libkipi.so
-- Check Kface library in local sub-folder...
-- Check Kface library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro use FindPkgConfig
-- PKGCONFIG() indicates that libkface is not installed (install the package which contains libkface.pc if you want to support this feature)
-- Check for Kmap library in local sub-folder...
-- Check Kmap library using pkg-config...
-- checking for one of the modules 'libkmap'
-- checking for module 'libpgf'
--   package 'libpgf' not found
-- Could NOT find any working clapack installation
-- Boost version: 1.44.0
-- Identified libjpeg version: /*
<entirity of libjpeg.h? will have to file a bug on that seperately>
*/

-- Found MySQL server executable at: /usr/libexec/mysqld
-- Found MySQL install_db executable at: /usr/bin/mysql_install_db
CMake Warning at CMakeLists.txt:205 (MESSAGE):
  libkdcraw: Version information not found, your version is probably too old.


-- Found gphoto2: -lgphoto2_port -lm -lusb;-lgphoto2 -lgphoto2_port -lexif -lm -lusb
-- Found KdepimLibs: /home/rrix/dev/install/usr/lib64/cmake/KdepimLibs/KdepimLibsConfig.cmake 
-- Found GLIB2: /usr/lib64/libglib-2.0.so 
-- WARNING: you are using the obsolete 'PKGCONFIG' macro use FindPkgConfig
-- Found LensFun: /usr/include 
-- WARNING: you are using the obsolete 'PKGCONFIG' macro use FindPkgConfig
-- Performing Test HAVE_LQR_0_4
-- Performing Test HAVE_LQR_0_4 - Success
-- Found Lqr-1: /usr/include/lqr-1 
-- Found Soprano: /home/rrix/dev/install/usr/include 
-- Found SharedDesktopOntologies: /home/rrix/dev/install/usr/share/ontology 
-- Found Nepomuk: /home/rrix/dev/install/usr/lib64/libnepomuk.so 
-- Found SharedDesktopOntologies: /home/rrix/dev/install/usr/share/ontology  (found version "0.6.50", required is "0.2")
-- Found Doxygen: /usr/bin/doxygen 
-- 
-- ----------------------------------------------------------------------------------
--  digiKam 2.0.0-beta5 dependencies results   <http://www.digikam.org>
-- 
--  Qt4 SQL module found..................... YES
--  MySQL Server found....................... YES
--  MySQL install_db tool found.............. YES
--  libtiff library found.................... YES
--  libpng library found..................... YES
--  libjasper library found.................. YES
--  liblcms library found.................... YES
--  Boost Graph library found................ YES
--  libkipi library found.................... YES
--  libkexiv2 library found.................. YES
--  libkdcraw library found.................. YES
--  libkface library found................... NO
-- 
CMake Error at CMakeLists.txt:90 (MESSAGE):
   digiKam needs libkface. You need to install the libkface (version >= 0.1.0) library development package.
Call Stack (most recent call first):
  CMakeLists.txt:300 (PRINT_LIBRARY_STATUS)


--  libkface website is at http://www.digikam.org/sharedlibs
-- 
--  libkmap library found.................... NO
-- 
CMake Error at CMakeLists.txt:90 (MESSAGE):
   digiKam needs libkmap. You need to install the libkmap (version >= 0.1.0) library development package.
Call Stack (most recent call first):
  CMakeLists.txt:301 (PRINT_LIBRARY_STATUS)


--  libkmap website is at http://www.digikam.org/sharedlibs
-- 
--  libpgf library found..................... NO  (optional - internal version used instead)
--  libclapack library found................. NO  (optional - internal version used instead)
--  libgphoto2 library found................. YES (optional)
--  libkdepimlibs library found.............. YES (optional)
--  Nepomuk libraries found.................. YES (optional)
--  libglib2 library found................... YES (optional)
--  liblqr-1 library found................... YES (optional)
--  liblensfun library found................. YES (optional)
--  Doxygen found............................ YES (optional)
CMake Error at CMakeLists.txt:398 (MESSAGE):
   digiKam will be compiled................. NO  (Look README file for more details about dependencies)


-- Configuring incomplete, errors occurred!


relevant cache entries:
KMAP_LOCAL_FOUND:FILEPATH=KMAP_LOCAL_FOUND-NOTFOUND
KFACE_LOCAL_FOUND:FILEPATH=KFACE_LOCAL_FOUND-NOTFOUND

setting KFACE_INCLUDE_DIR and KFACE_LIBRARIES, KMAP_INCLUDE_DIR and KMAP_LIBRARIES doesn't have any positive effect on this. I've tried various other variables and ideas to beat this in to submission, but I've had no luck with it...
Comment 4 Ryan Rix 2011-05-15 15:53:29 UTC
No help on this from anyone, particularly any digikammers? :\
Comment 5 Philip Johnsson 2011-05-15 16:09:55 UTC
You need to point cmake to where you installed libkface if you do it
like this as you don't have libkface in a standard path so cmake can
find it by it self. You don't need (but you can) to install the libs
in extra separately. If you build it all from source root cmake will
find all the libs in extra, build them, link them with digikam core
which also will be built in one take and install them in your
preferred prefix install directory.

/Philip


On Sun, May 15, 2011 at 3:53 PM, Ryan Rix <ry@n.rix.si> wrote:
> https://bugs.kde.org/show_bug.cgi?id=272522
>
>
>
>
>
> --- Comment #4 from Ryan Rix <ry n rix si>  2011-05-15 15:53:29 ---
> No help on this from anyone, particularly any digikammers? :\
>
> --
> Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are the assignee for the bug.
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel@kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
>
Comment 6 caulier.gilles 2011-12-12 20:20:22 UTC
Ryan,

This entry still valid ?

Gilles Caulier
Comment 7 pavel r 2012-05-23 11:27:09 UTC
Yes. Since 2.6.0 beta3 I get the same error. beta2 didn't have this problem, though.
Comment 8 caulier.gilles 2012-05-23 11:47:22 UTC
Please test with last 2.6.0 RC...

Gilles Caulier
Comment 9 pavel r 2012-05-23 12:43:55 UTC
Same error.
I tried to compile it on F14, which is quite old. But even after I compiled and installed new libkdcraw 4.8.3 (including -devel package) it still gives me the same error.
Comment 10 caulier.gilles 2012-05-23 12:46:31 UTC
Do you erase CMakeCache.txt file before to re-run cmake configuration ?

Gilles Caulier
Comment 11 pavel r 2012-05-23 12:47:49 UTC
Yes. In fact I erased the whole digikam directory and re-extracted it from tar file to make sure I won't miss anything.
Comment 12 caulier.gilles 2013-08-08 09:29:11 UTC
What's new here, using 3.3.0 release ?
Comment 13 caulier.gilles 2015-06-30 08:06:32 UTC
New digiKam 4.11.0 is available :

https://www.digikam.org/node/740

Can you reproduce the problem with this release ?
Comment 14 caulier.gilles 2015-08-22 06:34:59 UTC
digiKam 4.12.0 is out :

https://www.digikam.org/node/741

We need a fresh feedback using this release please...
Thanks in advance.
Comment 15 caulier.gilles 2016-07-15 12:54:13 UTC
With digiKam 5.0.0, this problem is not reproducible.
I close this file now. Don't hesitate to re-open if necessary.
Gilles Caulier