From 6de4281d5698e607e1d0f64ecb8236c1171df3c5 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Tue, 23 Jul 2019 21:50:40 +0200 Subject: [PATCH] package/opencv3: allow to use pkg-config while cross-compiling Since version 3.4.1 [1], opencv disable pkg-config while cross-compiling to avoid host headers/libraries poisoning. Due to this, opencv fail to detect ffmpeg, gstreamer and gtk dependencies even if the corresponding support is requested by BR2_PACKAGE_OPENCV3_WITH_{FFMPEG,GSTREAMER,GTK2,GTK3}. Maybe other dependencies are affected by this issue... While configuring opencv we can notice the following messages: "-- OpenCV disables pkg-config to avoid using of host libraries. Consider using PKG_CONFIG_LIBDIR to specify target SYSROOT" "-- Can't find ffmpeg - 'pkg-config' utility is missing" As the result ffmpeg and gstreamer are not enabled: -- Video I/O: -- FFMPEG: NO -- avcodec: NO -- avformat: NO -- avutil: NO -- swscale: NO -- avresample: NO -- GStreamer: NO -- libv4l/libv4l2: NO -- v4l/v4l2: linux/videodev2.h We can fixes this by adding a new option OPENCV_ENABLE_PKG_CONFIG=ON -- Video I/O: -- FFMPEG: YES -- avcodec: YES (ver 58.35.100) -- avformat: YES (ver 58.20.100) -- avutil: YES (ver 56.22.100) -- swscale: YES (ver 5.3.100) -- avresample: YES (ver 4.0.0) -- GStreamer: -- base: YES (ver 1.16.0) -- video: YES (ver 1.16.0) -- app: YES (ver 1.16.0) -- riff: YES (ver 1.16.0) -- pbutils: YES (ver 1.16.0) -- libv4l/libv4l2: NO -- v4l/v4l2: linux/videodev2.h Add host-pkgconf in the dependencies. If there is a path poisoning issue, it will be detected by the toolchain paranoid wrapper. [1] https://github.com/opencv/opencv/commit/c4f9ff0285130bd8bcf9d87a9ea6949bdd7e9e5d Signed-off-by: Romain Naour Cc: Samuel Martin Cc: Fabrice Fontaine Cc: Bernd Kuhls Signed-off-by: Thomas Petazzoni (cherry picked from commit 41f5ee957c3773f89e062f072402854ba3f5e673) Signed-off-by: Peter Korsgaard --- package/opencv3/opencv3.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package/opencv3/opencv3.mk b/package/opencv3/opencv3.mk index 3a2594b584..416b422261 100644 --- a/package/opencv3/opencv3.mk +++ b/package/opencv3/opencv3.mk @@ -30,7 +30,8 @@ OPENCV3_CONF_OPTS += \ -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV3_BUILD_PERF_TESTS),ON,OFF) \ -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV3_BUILD_TESTS),ON,OFF) \ -DBUILD_WITH_DEBUG_INFO=OFF \ - -DDOWNLOAD_EXTERNAL_TEST_DATA=OFF + -DDOWNLOAD_EXTERNAL_TEST_DATA=OFF \ + -DOPENCV_ENABLE_PKG_CONFIG=ON ifeq ($(BR2_PACKAGE_OPENCV3_BUILD_TESTS)$(BR2_PACKAGE_OPENCV3_BUILD_PERF_TESTS),) OPENCV3_CONF_OPTS += -DINSTALL_TEST=OFF @@ -221,7 +222,7 @@ OPENCV3_CONF_OPTS += \ -DWITH_WEBP=OFF \ -DWITH_XINE=OFF -OPENCV3_DEPENDENCIES += zlib +OPENCV3_DEPENDENCIES += host-pkgconf zlib ifeq ($(BR2_PACKAGE_OPENCV3_WITH_FFMPEG),y) OPENCV3_CONF_OPTS += -DWITH_FFMPEG=ON