Bug 304550 - Unknown CMake command "PKG_FIND_MODULE".
Summary: Unknown CMake command "PKG_FIND_MODULE".
Status: CLOSED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Portability-Cmake (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-04 13:09 UTC by Kristian Karl
Modified: 2017-08-19 12:54 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.9.0
Sentry Crash Report:


Attachments
cmake output (11.29 KB, text/plain)
2012-08-05 09:56 UTC, Kristian Karl
Details
Output from: "rm -rf * && cmake --trace -DCMAKE_BUILD_TYPE=relwithdebinfo -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .. > cmake_trace.output 2>&1" (151.20 KB, application/octet-stream)
2012-08-05 15:29 UTC, Kristian Karl
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kristian Karl 2012-08-04 13:09:43 UTC
When building latest from master, following error occurs when running cmake:

=== partial printout ===
-- Check Kipi library using pkg-config...
CMake Error at cmake/modules/FindKipi.cmake:70 (PKG_FIND_MODULE):
  Unknown CMake command "PKG_FIND_MODULE".
Call Stack (most recent call first):
  extra/kipi-plugins/CMakeLists.txt:124 (FIND_PACKAGE)
=== end of partial printout  ===

=== Complete printout ===
[krikar@krikar-thinkpad build]$ rm -rf * && cmake -DCMAKE_BUILD_TYPE=relwithdebinfo -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .. 
-- The C compiler identification is GNU 4.6.3
-- The CXX compiler identification is GNU 4.6.3
-- Check for working C compiler: /usr/lib64/ccache/gcc
-- Check for working C compiler: /usr/lib64/ccache/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.8.2 (using /usr/bin/qmake-qt4)
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so;/usr/lib64/libXft.so;/usr/lib64/libXau.so;/usr/lib64/libXpm.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so;/usr/lib64/libXft.so;/usr/lib64/libXau.so;/usr/lib64/libXpm.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found.
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found OpenSSL: /usr/lib64/libssl.so
-- Looking for _POSIX_TIMERS
-- Looking for _POSIX_TIMERS - found
-- Found Automoc4: /usr/bin/automoc4 
-- Found Perl: /usr/bin/perl (found version "5.14.2") 
-- Found Phonon: /usr/include 
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_FPIE_SUPPORT
-- Performing Test HAVE_FPIE_SUPPORT - Success
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success
-- Performing Test __KDE_HAVE_GCC_VISIBILITY
-- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success
-- Found KDE 4.8 include dir: /usr/include/kde4
-- Found KDE 4.8 library dir: /usr/lib64/kde4/devel
-- Found the KDE4 kconfig_compiler4 preprocessor: /usr/bin/kconfig_compiler4
-- Found automoc4: /usr/bin/automoc4
-- /home/krikar/dev/digikam/po/ dir do not exists. Translations compilation disabled...
-- You can use DIGIKAMSC_CHECKOUT_PO option to extract po files from KDE repositories.
-- Local kdegraphics libraries will be compiled... NO
-- Handbooks will be compiled..................... YES
-- Extract translations files..................... NO
-- Translations will be compiled.................. NO
-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: libmediawiki
-- checking for module 'QJson>=0.7'
--   found QJson, version 0.7.1
-- Found QJSON: /usr/lib64/libqjson.so  (found version "0.7.1", required is "0.7")

-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
-----------------------------------------------------------------------------
   * QJSON - Qt library for handling JSON data

-----------------------------------------------------------------------------
-- Congratulations! All external packages have been found.
-----------------------------------------------------------------------------

-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: libkgeomap
-- Found Qt-Version 4.8.2 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
-- Found marble: /usr/include 
-- 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 >= 1.0.0
-- Found libkexiv2: /usr/lib64/libkexiv2.so
-- kexiv2 found, the demo application will be compiled.
-- Looking for valgrind/valgrind.h
-- Looking for valgrind/valgrind.h - not found
-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: libkface
-- Found Qt-Version 4.8.2 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
-- First try at finding OpenCV...
-- Great, found OpenCV on the first try.
-- OpenCV Root directory is /usr/lib64/cmake/opencv
-- External libface was not found, use internal version instead...
-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: kipi-plugins
-- 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 >= 1.0.0
-- Found libkexiv2: /usr/lib64/libkexiv2.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 Kipi library in local sub-folder...
CMake Warning (dev) at extra/kipi-plugins/CMakeLists.txt:124 (FIND_PACKAGE):
  A logical block opening on the line

    /home/krikar/dev/digikam/cmake/modules/FindKipi.cmake:41 (IF)

  closes on the line

    /home/krikar/dev/digikam/cmake/modules/FindKipi.cmake:43 (ENDIF)

  with mis-matching arguments.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at extra/kipi-plugins/CMakeLists.txt:124 (FIND_PACKAGE):
  A logical block opening on the line

    /home/krikar/dev/digikam/cmake/modules/FindKipi.cmake:46 (IF)

  closes on the line

    /home/krikar/dev/digikam/cmake/modules/FindKipi.cmake:48 (ENDIF)

  with mis-matching arguments.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Check Kipi library using pkg-config...
CMake Error at cmake/modules/FindKipi.cmake:70 (PKG_FIND_MODULE):
  Unknown CMake command "PKG_FIND_MODULE".
Call Stack (most recent call first):
  extra/kipi-plugins/CMakeLists.txt:124 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
[krikar@krikar-thinkpad build]$ 
=== End of complete printout ===


Reproducible: Always
Comment 1 caulier.gilles 2012-08-04 13:20:15 UTC
Which cmake version you use ?

Gilles caulier
Comment 2 Kristian Karl 2012-08-04 13:51:36 UTC
(In reply to comment #1)
> Which cmake version you use ?
> 
> Gilles caulier

cmake version 2.8.8
Comment 3 Victor Dodon 2012-08-05 00:08:41 UTC
Can you try now? Thank you.
Comment 4 Kristian Karl 2012-08-05 09:56:43 UTC
Created attachment 72967 [details]
cmake output

I get a different error now:

CMake Error at extra/kipi-plugins/CMakeLists.txt:88 (MESSAGE):
   kipi-plugins needs libkipi. You need to install the libkipi (version >= 1.2.0) library development package.
Call Stack (most recent call first):
  extra/kipi-plugins/CMakeLists.txt:225 (PRINT_LIBRARY_STATUS)

Complete output in attachment. The error states I need correct version of libkipi installed, but I do have dev package version 4.8.4 installed. (I'm using Fedora 16)

[root@krikar-thinkpad ~]# rpm -qa|grep kipi
kipi-plugins-libs-2.5.0-3.fc16.x86_64
kipi-plugins-2.5.0-3.fc16.x86_64
libkipi-4.8.4-1.fc16.x86_64
libkipi-devel-4.8.4-1.fc16.x86_64
[root@krikar-thinkpad ~]#
Comment 5 Victor Dodon 2012-08-05 10:16:58 UTC
can you try now.

btw, you don't need kipi-plugins installed from the repo, as they will be compiled with digikam-sc
Comment 6 Kristian Karl 2012-08-05 13:09:17 UTC
Hi, still get the same problem...

CMake Error at extra/kipi-plugins/CMakeLists.txt:88 (MESSAGE):
   kipi-plugins needs libkipi. You need to install the libkipi (version >= 1.2.0) library development package.
Call Stack (most recent call first):
  extra/kipi-plugins/CMakeLists.txt:225 (PRINT_LIBRARY_STATUS)


I verified that I got the latest changes:


[krikar@krikar-thinkpad digikam]$ git log --summary|head -12
commit 8ad5cff9ca8aaa1ca5c4ea6ba7fd7835a1a61361
Author: Dodon Victor <dodonvictor@gmail.com>
Date:   Sun Aug 5 03:05:25 2012 +0300

    Fix wrong closing block conditions


commit 0419ba33f9d6aeabdc3810de0d979b6458369006
Author: Dodon Victor <dodonvictor@gmail.com>
Date:   Sun Aug 5 02:59:14 2012 +0300

    Changed FindKipi module
[krikar@krikar-thinkpad digikam]$
Comment 7 Victor Dodon 2012-08-05 14:59:50 UTC
I can't reproduce it after a fresh kubuntu 12.04 install using system libkipi (1.3.0)

Can you put the output of the /usr/include/libkipi/version.h ?

I definitely recomend you to use -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=on cmake flag when runnig cmake.
Comment 8 Victor Dodon 2012-08-05 15:02:27 UTC
Also try to get the latest changes.
Comment 9 Kristian Karl 2012-08-05 15:14:19 UTC
The file libkipi/version.h does not exist in /usr/include.
On Fedora16 it ends up in "/usr/include/kde4/libkipi/version.h"
The version is: 
static const char kipi_version[]     = "1.3.0";
static const int kipi_binary_version =  8;

But, using "-DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=on" solves the problem.
I'll start using that from now on!
Thanx for your help. :-)
Comment 10 caulier.gilles 2012-08-05 15:14:56 UTC
Kristian,

Clean cmake cache file in your build dir and restart configuration with last changes from Victor...

Gilles Caulier
Comment 11 Kristian Karl 2012-08-05 15:29:19 UTC
Created attachment 72973 [details]
Output from: "rm -rf * && cmake --trace -DCMAKE_BUILD_TYPE=relwithdebinfo -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`  .. > cmake_trace.output 2>&1"

I got the latest from Victor, and cleaned the cache, but it does not help I'm afraid. I run cmake with --trace and attached the output.
It seams that the version.h file for libkipi can't be properly located. See Comment 9.

But as I said in comment 9, I'll be using "-DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=on" from now on, which solves my problem.
Comment 12 Kristian Karl 2012-08-25 11:59:34 UTC
For me, this is no issue or problem anymore.