Bug 340945

Summary: Geolocation, libmediawiki, libkvkontakte, FacesEngine not found
Product: [Applications] digikam Reporter: nucleo <nucleo>
Component: Portability-RuntimeAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, kde
Priority: NOR    
Version: 4.5.0   
Target Milestone: ---   
Platform: Other   
OS: Other   
Latest Commit: Version Fixed In: 4.6.0
Sentry Crash Report:
Attachments: workaround

Description nucleo 2014-11-14 06:01:58 UTC
libkgeomap, libmediawiki, libkvkontakte, libkface not found when compiling digiKam 4.5.0:

-- PKGCONFIG() indicates that libmediawiki is not installed (install the package which contains libmediawiki.pc if you want to support this feature)
-- Check Vkontakte library in local sub-folder...
-- Check Vkontakte library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- PKGCONFIG() indicates that libkvkontakte is not installed (install the package which contains libkvkontakte.pc if you want to support this feature)
-- Found HUpnpCore : /usr/include/HUpnpCore /usr/lib64/libHUpnp.so
-- Could NOT find required package HUpnpAv: <http://herqq.org>
-- Found ImageMagick: /usr/lib64/libMagickCore-6.Q16.so (found version "6.8.8-10") 
-- Boost hasn't been found yet. Looking...
-- Boost version: 1.55.0
-- GCC 4.5 or later detected. Enabling C++0x support in QTGSTREAMER_FLAGS.
-- Could NOT find QtKOAuth (missing:  QTKOAUTH_LIBRARIES QTKOAUTH_INCLUDE_DIR) 
CMake Warning at extra/kipi-plugins/CMakeLists.txt:131 (message):
  libkgeomap: Version information not found, your version is probably too
  old.
-- Found X11: /usr/lib64/libX11.so
-- First try at finding OpenCV...
-- Great, found OpenCV on the first try.
-- OpenCV Root directory is: /usr/lib64/OpenCV
-- OpenCV: Found version 2.4.9 (required: 2.4.9)
-- OpenCV headers: /usr/include/opencv;/usr/include
-- OpenCV libs   : opencv_core;opencv_highgui;opencv_objdetect;opencv_contrib;opencv_legacy;opencv_imgproc
-- 
-- ----------------------------------------------------------------------------------
--  kipi-plugins 4.5.0 dependencies results   <http://www.digikam.org>
-- 
--  libqt found.............................. YES
--  libkde found............................. YES
--  libjpeg found............................ YES
--  libtiff found............................ YES
--  libpng found............................. YES
--  libkipi found............................ YES
--  libkexiv2 found.......................... YES
--  libkdcraw found.......................... YES
--  libxml2 found............................ YES (optional)
--  libxslt found............................ YES (optional)
--  libexpat found........................... YES (optional)
--  libopencv found.......................... YES (optional)
--  libqjson found........................... YES (optional)
--  libkdepimlibs found...................... YES (optional)
--  libqca found............................. YES (optional)
--  libkgeomap found......................... NO  (optional)
--  Kipi-plugins will be compiled without libkgeomap support.
--  Please install the libkgeomap (version >= 3.0.0) development package.
-- 
--  libmediawiki found....................... NO  (optional)
--  Kipi-plugins will be compiled without libmediawiki support.
--  Please install the libmediawiki (version >= 1.0.0) development package.
-- 
--  libkvkontakte found...................... NO  (optional)
--  Kipi-plugins will be compiled without libkvkontakte support.
--  Please install the libkvkontakte (version >= 0.1.0) development package.
-- 
--  libimagemagick found..................... YES (optional)
--  libqtgstreamer found..................... YES (optional)
--  libgpod found............................ YES (optional)
--  libgdk found............................. YES (optional)
--  libqtkoauth found........................ NO  (optional)
--  Kipi-plugins will be compiled without libqtkoauth support.
--  Please install the libqtkoauth (version >= 0.97) development package.
-- 
--  libksane found........................... YES (optional)
--  libhupnp found........................... NO  (optional)
--  Internal version used instead
--  Please install the libhupnp (version >= 2.0.0) development package.
-- 
--  libqtsoap found.......................... NO  (optional)
--  Kipi-plugins will be compiled without libqtsoap support.
--  Please install the libqtsoap (version >= 2.7.0) development package.
-- 
--  native threads support found............. YES (optional)
--  native Opengl support found.............. YES (optional)
--  Qt4 OpenGL module found.................. YES (optional)
--  libX11 found............................. YES (optional)
-- 
--  kipi-plugins will be compiled............ YES
--  Shwup will be compiled................... YES (optional)
--  YandexFotki will be compiled............. YES (optional)
--  HtmlExport will be compiled.............. YES (optional)
--  AdvancedSlideshow will be compiled....... YES (optional)
--  ImageViewer will be compiled............. YES (optional)
--  AcquireImages will be compiled........... YES (optional)
--  DNGConverter will be compiled............ YES (optional)
--  DLNAExport will be compiled.............. NO  (optional - Look README file for more details about dependencies)
--  RemoveRedEyes will be compiled........... YES (optional)
--  Debian Screenshots will be compiled...... YES (optional)
--  Facebook will be compiled................ YES (optional)
--  Imgur will be compiled................... YES (optional)
--  GoogleDrive will be compiled............. YES (optional)
--  Dropbox will be compiled................. YES (optional)
--  VKontakte will be compiled............... NO  (optional - Look README file for more details about dependencies)
--  IpodExport will be compiled.............. YES (optional)
--  Calendar will be compiled................ YES (optional)
--  GPSSync will be compiled................. NO  (optional - Look README file for more details about dependencies)
--  Mediawiki will be compiled............... NO  (optional - Look README file for more details about dependencies)
--  Panorama will be compiled................ YES (optional)
--  VideoSlideshow will be compiled.......... YES (optional)
--  Wallpaper will be compiled............... NO  (optional - Look README file for more details about dependencies)
-- ----------------------------------------------------------------------------------
-- 
-- Found QtGstreamer version: 1.2.0
-- Using GStreamer API 1:     TRUE


-- PKGCONFIG() indicates that libkface is not installed (install the package which contains libkface.pc if you want to support this feature)
-- Check for KGeoMap library in local sub-folder...
-- Check KGeoMap library using pkg-config...
-- checking for one of the modules 'libkgeomap'
-- Found Jasper: /usr/lib64/libjasper.so (found version "1.900.1") 
-- Found Eigen3: /usr/include/eigen3 (Required is at least version "2.91.0") 
-- Boost version: 1.55.0
-- First try at finding OpenCV...
-- Great, found OpenCV on the first try.
-- OpenCV Root directory is: /usr/lib64/OpenCV
-- OpenCV: Found version 2.4.9 (required: 2.4.9)
-- OpenCV headers: /usr/include/opencv;/usr/include
-- OpenCV libs   : opencv_core;opencv_highgui;opencv_objdetect;opencv_contrib;opencv_legacy;opencv_imgproc
-- libkdcraw: Found version 2.4.2 (required: 2.2.0)
CMake Warning at core/CMakeLists.txt:155 (message):
  libkgeomap: Version information not found, your version is probably too
  old.
-- Check for LCMS2 availability...
-- checking for module 'lcms2'
--   found lcms2, version 2.6
-- Found lcms version 2.06, /usr/lib64/liblcms2.so
-- Found LCMS2: /usr/lib64/liblcms2.so /usr/include
-- Libjpeg version: 62
-- Found MySQL server executable at: /usr/libexec/mysqld
-- Found MySQL install_db executable at: /usr/bin/mysql_install_db
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.8") 
-- Could NOT find Sqlite2 (missing:  SQLITE2_LIBRARIES SQLITE2_INCLUDE_DIR) 
-- 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 gphoto2: -lgphoto2_port -lm;-lgphoto2 -lm -lgphoto2_port -lm -lexif
-- Found LIBUSB: /usr/lib64/libusb.so  
-- checking for module 'lensfun'
--   found lensfun, version 0.2.8.0
-- Found LensFun: /usr/include/lensfun (found version "0.2.8.0") 
-- liblensfun: Found version 0.2.8.0 (required: 0.2.6.0)
-- 
-- ----------------------------------------------------------------------------------
--  digiKam 4.5.0 dependencies results   <http://www.digikam.org>
-- 
--  Qt4 SQL module found..................... YES
--  MySQL Server found....................... YES
--  MySQL install_db tool found.............. YES
--  libqt found.............................. YES
--  libkde found............................. YES
--  libjpeg found............................ YES
--  libtiff found............................ YES
--  libpng found............................. YES
--  liblcms found............................ YES
--  libboostgraph found...................... YES
--  libkexiv2 found.......................... YES
--  libkdcraw found.......................... YES
--  libpgf found............................. YES
--  libopencv found.......................... YES
--  libkipi found............................ YES (optional)
--  libkface found........................... NO  (optional)
--  digiKam will be compiled without faces detection and recognition support.
--  Please install the libkface (version >= 2.0.0) development package.
-- 
--  libkgeomap found......................... NO  (optional)
--  digiKam will be compiled without geolocation maps support.
--  Please install the libkgeomap (version >= 3.0.0 development package.
-- 
--  libkdepimlibs found...................... YES (optional)
--  libjasper found.......................... YES (optional)
--  liblensfun found......................... YES (optional)
--  liblqr-1 found........................... YES (optional)
--  libeigen3 found.......................... YES (optional)
--  libgphoto2 found......................... YES (optional)
--  libbaloo found........................... YES (optional)
--  libsqlite2 found......................... NO  (optional)
--  digiKam will be compiled without database version <= 0.7 importing support.
--  Please install the libsqlite2 (version >= 2.0.0) development package.
-- 
--  doxygen found............................ YES (optional)
--  digiKam can be compiled.................. YES
-- ----------------------------------------------------------------------------------


Reproducible: Always
Comment 1 nucleo 2014-11-14 06:03:03 UTC
Also digikam-4.5.0/core/NEWS not contains news about 4.5.0 release but 4.6.0 news there.
Comment 2 caulier.gilles 2014-11-14 10:04:00 UTC
4.5.0 NEWS file is in project/ subdir

All these libraries are optional now. Check README file for details

Gilles Caulier
Comment 3 nucleo 2014-11-14 10:57:10 UTC
In digiKam 4.4.0 was possible with -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=off build libkface, libkgeomap, libmediawiki, libkvkontakte but not build libkipi, libkexiv2, libkdcraw and libksane that are part of KDE releases.

CMakeLists.txt 4.4.0:

IF(ENABLE_PRIVATE_KDEGRAPHICS)
    SET(KIPI_LOCAL_DIR extra/libkipi)
    SET(KEXIV2_LOCAL_DIR extra/libkexiv2)
    SET(KDCRAW_LOCAL_DIR extra/libkdcraw)
    SET(KSANE_LOCAL_DIR extra/libksane)
ENDIF()

SET(KFACE_LOCAL_DIR extra/libkface)
SET(KGEOMAP_LOCAL_DIR extra/libkgeomap)
SET(MEDIAWIKI_LOCAL_DIR extra/libmediawiki)
SET(LIBKVKONTAKTE_LOCAL_DIR extra/libkvkontakte)

But in digiKam 4.5.0 with -DDIGIKAMSC_USE_PRIVATE_SHAREDLIBS=off all libs not built, 
CMakeLists.txt 4.5.0:

if(ENABLE_PRIVATE_SHAREDLIBS)
    # from kdegraphics/libs
    set(KIPI_LOCAL_DIR   extra/libkipi)
    set(KEXIV2_LOCAL_DIR extra/libkexiv2)
    set(KDCRAW_LOCAL_DIR extra/libkdcraw)
    set(KFACE_LOCAL_DIR  extra/libkface)
    set(KSANE_LOCAL_DIR  extra/libksane)

    #from extragear/libs
    set(KGEOMAP_LOCAL_DIR       extra/libkgeomap)
    set(MEDIAWIKI_LOCAL_DIR     extra/libmediawiki)
    set(LIBKVKONTAKTE_LOCAL_DIR extra/libkvkontakte)
endif()

libkipi, libkexiv2, libkdcraw and libksane are still part of current stable 4.14.3 KDE release, so have common system packages, but libkface, libkgeomap, libmediawiki and libkvkontakte don't have and should be built with digiKam.

What README say:

"-DDIGIKAMSC_USE_PRIVATE_SHAREDLIBS=on"    Force to use local libkipi, libkexiv2, and libkdcraw, etc implementation instead KDE version installed on your computer.

But actually this switch enables/disables also libkface, libkgeomap, libmediawiki and libkvkontakte.

I found that libkface is available for downloading as part of unstable 14.11.90 applications release
http://download.kde.org/unstable/applications/14.11.90/src/libkface-14.11.90.tar.xz
but where separate releases of libkgeomap, libmediawiki and libkvkontakte?

Actual digiKam NEWS file in tarball is digikam-4.5.0/core/NEWS but looks like it was taken from git where 4.6.0 news now.
Comment 4 nucleo 2014-11-14 16:59:39 UTC
Created attachment 89582 [details]
workaround

This patch is workaround to enable only libkface, libkgeomap, libmediawiki, libkvkontakte withoutlibkipi, libkexiv2, libkdcraw, libksane but should be general way how to do this.
Comment 5 caulier.gilles 2014-11-17 13:35:10 UTC
Git commit 498980b859b751c1b74ebfa61745abaace14274c by Gilles Caulier.
Committed on 17/11/2014 at 13:27.
Pushed by cgilles into branch 'master'.

Add new options to turn on/off each libraries used to compile whole digiKam Software Compilation.
Turning on want mean to compile localy a library.
Turning off want mean to use system based library.
By default all options are turned OFF.
Libraries managed are libkipi, libkdcraw, libkexiv2, libkface, libkgeomap, libksane, libmediawiki, and libkvkontakte
Older option DIGIKAMSC_USE_PRIVATE_SHAREDLIBS is now removed.
To packagers, Please README for details.
FIXED-IN: 4.6.0

M  +116  -48   CMakeLists.txt
M  +17   -9    README
M  +10   -2    bootstrap.linux
M  +10   -2    bootstrap.local
M  +10   -1    bootstrap.macports
M  +10   -2    bootstrap.msvc.bat
M  +24   -8    extra/CMakeLists.txt

http://commits.kde.org/scratch/mwiesweg/digikam-sc/498980b859b751c1b74ebfa61745abaace14274c