| Summary: | OpenCV not detected during configuration | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | Andrzej <superandrzej> |
| Component: | Faces-RedEyes | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED NOT A BUG | ||
| Severity: | normal | CC: | caulier.gilles, rdieter |
| Priority: | NOR | ||
| Version First Reported In: | 1.4.0 | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 1.5.0 | |
| Sentry Crash Report: | |||
I cannot confirm this under Mandriva 2010.1.
Opencv 2.1.0 package install a config file which will be used by Cmake to get settings :
[gilles@localhost opencv]$ pwd
/usr/share/opencv
[gilles@localhost opencv]$ ls
haarcascades/ lbpcascades/ OpenCVConfig.cmake samples/
[gilles@localhost opencv]$ cat OpenCVConfig.cmake
# ===================================================================================
# The OpenCV CMake configuration file
#
# ** File generated automatically, do not modify **
#
# Usage from an external project:
# In your CMakeLists.txt, add these lines:
#
# FIND_PACKAGE(OpenCV REQUIRED )
# TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${OpenCV_LIBS})
#
# This file will define the following variables:
# - OpenCV_LIBS : The list of libraries to links against.
# - OpenCV_LIB_DIR : The directory where lib files are. Calling LINK_DIRECTORIES
# with this path is NOT needed.
# - OpenCV_INCLUDE_DIRS : The OpenCV include directories.
# - OpenCV_VERSION : The version of this OpenCV build. Example: "1.2.0"
# - OpenCV_VERSION_MAJOR : Major version part of OpenCV_VERSION. Example: "1"
# - OpenCV_VERSION_MINOR : Minor version part of OpenCV_VERSION. Example: "2"
# - OpenCV_VERSION_PATCH : Patch version part of OpenCV_VERSION. Example: "0"
#
# ===================================================================================
# Extract the directory where *this* file has been installed (determined at cmake run-time)
# This variable may or may not be used below, depending on the parsing of OpenCVConfig.cmake
get_filename_component(THIS_OPENCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH)
# ======================================================
# Include directories to add to the user project:
# ======================================================
INCLUDE_DIRECTORIES(/usr/include/opencv)
# Provide the include directories to the caller
SET(OpenCV_INCLUDE_DIRS /usr/include/opencv)
# ======================================================
# Link directories to add to the user project:
# ======================================================
LINK_DIRECTORIES("/usr/lib")
# Provide the libs directory anyway, it may be needed in some cases.
SET(OpenCV_LIB_DIR "/usr/lib")
# ====================================================================
# Link libraries: e.g. cxcore110.so, cv110.lib / cv110d.lib, etc...
# ====================================================================
set(OPENCV_LIB_COMPONENTS cxcore cv ml highgui cvaux)
SET(OpenCV_LIBS "")
foreach(__CVLIB ${OPENCV_LIB_COMPONENTS})
# CMake>=2.6 supports the notation "debug XXd optimized XX"
if (CMAKE_MAJOR_VERSION GREATER 2 OR CMAKE_MINOR_VERSION GREATER 4)
# Modern CMake:
SET(OpenCV_LIBS ${OpenCV_LIBS} debug ${__CVLIB} optimized ${__CVLIB})
else(CMAKE_MAJOR_VERSION GREATER 2 OR CMAKE_MINOR_VERSION GREATER 4)
# Old CMake:
SET(OpenCV_LIBS ${OpenCV_LIBS} ${__CVLIB})
endif(CMAKE_MAJOR_VERSION GREATER 2 OR CMAKE_MINOR_VERSION GREATER 4)
endforeach(__CVLIB)
# For OpenCV built as static libs, we need the user to link against
# many more dependencies:
IF (NOT 1)
# Under static libs, the user of OpenCV needs access to the 3rdparty libs as well:
LINK_DIRECTORIES("/home/mandrake/rpm/BUILD/OpenCV-2.1.0/build/3rdparty/lib")
SET(OpenCV_LIBS
dl;m;pthread;rt
/usr/lib/libjpeg.so
/usr/lib/libpng.so;/usr/lib/libz.so
/usr/lib/libtiff.so
/usr/lib/libjasper.so;/usr/lib/libjpeg.so
gtk-x11-2.0;gdk-x11-2.0;atk-1.0;gio-2.0;pangoft2-1.0;gdk_pixbuf-2.0;pangocairo-1.0;cairo;pango-1.0;freetype;fontconfig;gobject-2.0;gmodule-2.0;gthread-2.0;rt;glib-2.0;gthread-2.0;rt;glib-2.0;gstbase-0.10;gstreamer-0.10;gobject-2.0;gmodule-2.0;xml2;gthread-2.0;rt;glib-2.0;avcodec;avformat;avutil;swscale;dc1394;v4l1;v4l2
${OpenCV_LIBS}) # The standard libs BEFORE (OpenCV_LIBS) since these can have "debug","optimized".
ENDIF(NOT 1)
# ======================================================
# Version variables:
# ======================================================
SET(OpenCV_VERSION 2.1.0)
SET(OpenCV_VERSION_MAJOR 2)
SET(OpenCV_VERSION_MINOR 1)
SET(OpenCV_VERSION_PATCH 0)
Sound like CMake cannot find this file, because environnement variable are not set by OpenCV package on your computer. On my computer i can see that :
[gilles@localhost opencv]$ export |grep open
declare -x PWD="/usr/share/opencv"
Gilles Caulier
Can you have a look if FindOpenCV.cmake is on your computer or which package provides it? Maybe the velopment-packages for opencv are missing? I was preparing opencv package myself and apparently there was a mistake in the build script. I was missing: /usr/share/opencv/OpenCVConfig.cmake With this file opencv is detected correctly during kipi-plugins-1.4.0 configuration. |
Version: 1.4.0 (using KDE 4.5.1) OS: Linux I do have OpenCV-2.1.0 and cmake-2.8.1 installed. relevant parts of cmake output in 1.4.0: CMake Warning at /usr/share/apps/cmake/modules/MacroOptionalFindPackage.cmake:32 (find_package): Could not find module FindOpenCV.cmake or a configuration file for package OpenCV. Adjust CMAKE_MODULE_PATH to find FindOpenCV.cmake or set OpenCV_DIR to the directory containing a CMake configuration file for OpenCV. The file will have one of the following names: OpenCVConfig.cmake opencv-config.cmake Call Stack (most recent call first): CMakeLists.txt:138 (MACRO_OPTIONAL_FIND_PACKAGE) -- libopencv library found.................. NO (optional) -- RemoveRedEyes will be compiled........... NO (optional - Look README file for more details about dependencies) in 1.3.0 OpenCV is detected: -- OpenCV root directory: /usr -- OpenCV Include Directory: /usr/include/opencv;/usr/include/opencv;/usr/include/opencv;/usr/include/opencv -- OpenCV Libraries: /usr/lib/libcv.so;/usr/lib/libcxcore.so;/usr/lib/libcvaux.so;/usr/lib/libhighgui.so Reproducible: Always OS: Linux (i686) release 2.6.35.4 Compiler: gcc