When OpenCV is being built with the "fastcv" packageconfig, several
OpenCV libs are linked against the libfastcv.a. At runtime this lib will
dlopen(libfastcvopt.so.1), providing a fallback to slow algorithms, etc.
However as it is dlopen() rather than dynamic linking, there is no
runtime dependency.
In Yocto, if we enable a feature, we expect that all runtime
dependencies are pulled in. Utilize the qcom-fastcv-binaries recipe
provided by the meta-qcom layer and pull in libfastcvopt1 package as
required.
Cc: Pulkit Singh Tak <ptak@qti.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Since commit 91e428d4cd ("opencv: Support building for native"),
opencv can be built on a native target. However, not all of their
PACKAGECONFIG dependencies (ade, libgphoto2, ffmpeg, gstreamer1.0 and
gstreamer1.0-plugins-base) can be built in this context due to the
missing native BBCLASSEXTEND.
These recipes would need to be extended for native build, but specific
work is required to ensure they work properly. To make opencv-native work
for now, remove the above features for the native build.
Effectively, PACKAGECONFIG for native is target minus gapi, gstreamer,
gphoto2 and libav.
Fixes this warning from AB[0]:
WARNING: Nothing PROVIDES 'gstreamer1.0-plugins-base-native' (but virtual:native:[...]/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.12.0.bb DEPENDS on or otherwise requires it). Close matches:
WARNING: Nothing PROVIDES 'ffmpeg-native' (but virtual:native:[...]/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.12.0.bb DEPENDS on or otherwise requires it). Close matches:
WARNING: Nothing PROVIDES 'libgphoto2-native' (but virtual:native:[...]/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.12.0.bb DEPENDS on or otherwise requires it). Close matches:
WARNING: Nothing PROVIDES 'gstreamer1.0-native' (but virtual:native:[...]/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.12.0.bb DEPENDS on or otherwise requires it). Close matches:
WARNING: Nothing PROVIDES 'ade-native' (but virtual:native:[...]/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.12.0.bb DEPENDS on or otherwise requires it). Close matches:
WARNING: Nothing RPROVIDES 'opencv-dev-native' (but virtual:native:[...]/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.12.0.bb RDEPENDS on or otherwise requires it)
WARNING: Nothing RPROVIDES 'opencv-native' (but virtual:native:[...]/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.12.0.bb RDEPENDS on or otherwise requires it)
[0]: https://autobuilder.yoctoproject.org/valkyrie/#/builders/82/builds/469/steps/13/logs/warnings
Signed-off-by: Corentin Guillevic <corentin.guillevic@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This avoids a clash with the base class' pure virtual method with the
same name.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The ocl-icd and opencl-icd-loader provide libOpenCL.so.1 rather than the
OpenCL Installable Client Driver (ICD). Rename the virtual package
accordingly.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Its creation depends on PACKAGECONFIG = "samples", which may be
removed in a bbappend.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Install the test and sample binaries. Rename "/usr/bin/shape"
directory to "/usr/bin/opencv_shape". This avoids conflict
with "/usr/bin/shape" file installed by mesa-demos.
Signed-off-by: Keerthivasan Raghavan <kraghava@qti.qualcomm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Update submodules to match the working version with 4.12.0
Drop backports which are already present in 4.12.0
Upgrade fastcv to 4.x_20250606
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Due to upstream has fixed the issue [1], revert [3f26c46cbd opencv:
disable sse4.1 and sse4.2 on x86]
[1] https://github.com/opencv/opencv/pull/21628
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
$ bitbake opencv
$ vim tmp/work/core2-64-wrs-linux/opencv/4.11.0/temp/log.do_configure
...
-- WARNING: Option ENABLE_SSE='1' is deprecated and should not be used anymore
-- Behaviour of this option is not backward compatible
-- Refer to 'CPU_BASELINE'/'CPU_DISPATCH' CMake options documentation
-- WARNING: Option ENABLE_SSE2='1' is deprecated and should not be used anymore
-- Behaviour of this option is not backward compatible
-- Refer to 'CPU_BASELINE'/'CPU_DISPATCH' CMake options documentation
-- WARNING: Option ENABLE_SSE3='1' is deprecated and should not be used anymore
-- Behaviour of this option is not backward compatible
-- Refer to 'CPU_BASELINE'/'CPU_DISPATCH' CMake options documentation
-- WARNING: Option ENABLE_SSSE3='1' is deprecated and should not be used anymore
-- Behaviour of this option is not backward compatible
-- Refer to 'CPU_BASELINE'/'CPU_DISPATCH' CMake options documentation
...
According to [1], flags ENABLE_AVX/ENABLE_AVX2/ENABLE_POPCNT/etc should not be used
anymore. Use options CPU_DISPATCH instead.
[1] https://github.com/opencv/opencv/wiki/CPU-optimizations-build-options#customizing-cmake-options
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Fix:
| CMake Error at CMakeLists.txt:7 (cmake_minimum_required):
| Compatibility with CMake < 3.5 has been removed from CMake.
|
| Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
| to tell CMake that the project requires at least <min> but has been updated
| to work with policies introduced by <max> or earlier.
|
| Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
|
|
| -- Configuring incomplete, errors occurred!
Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Please see
https://git.yoctoproject.org/poky/commit/?id=4dd321f8b83afecd962393101b2a6861275b5265
for what changes are needed, and sed commands that can be used to make them en masse.
I've verified that bitbake -c patch world works with these, but did not run a world
build; the majority of recipes shouldn't need further fixups, but if there are
some that still fall out, they can be fixed in followups.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Updated FastCV libs hash to include fix for Cluster Euclidean and Box Filter
and support for FastCV SVD API
Signed-off-by: Pulkit Singh Tak <quic_ptak@quicinc.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Migration to Fastcv static lib for Fastcv Extns and
adding fastcv enablement option as packageconfig.
Signed-off-by: Pulkit Singh Tak <quic_ptak@quicinc.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Recipes are much more readable with whitespace around the assignment operators.
Fix various assignments in meta-openembedded recipes to show this is definitely
the preferred formatting.
This fixes recipes with larger numbers of issues but there are just under 100
other references left to fix.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Resolves an issue where python3 package generation was failing to configure.
-- Cannot probe for Python/Numpy support (because we are cross-compiling OpenCV)
-- If you want to enable Python/Numpy support, set the following variables:
-- PYTHON2_INCLUDE_PATH
-- PYTHON2_LIBRARIES (optional on Unix-like systems)
-- PYTHON2_NUMPY_INCLUDE_DIRS
-- PYTHON3_INCLUDE_PATH
-- PYTHON3_LIBRARIES (optional on Unix-like systems)
-- PYTHON3_NUMPY_INCLUDE_DIRS
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* as a bonus it fixes building with tests PACKAGECONFIG enabled as reported in:
225ce6a14a (r129831882)
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This reverts commit 0abf5af3ff
libopencv-ts package is not empty and libopencv_ts libraries are
not all installed in the -dev package, these libraries are needed
for sdk development listed in opencv4.pc file.
Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a
This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).
This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.
This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:
5 (26%) meta-xfce
6 (50%) meta-perl
15 (42%) meta-webserver
21 (36%) meta-gnome
25 (57%) meta-filesystems
26 (43%) meta-initramfs
45 (45%) meta-python
47 (55%) meta-multimedia
312 (63%) meta-networking
756 (61%) meta-oe
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
A vulnerability classified as problematic was found in OpenCV
wechat_qrcode Module up to 4.7.0. Affected by this vulnerability
is the function DecodedBitStreamParser::decodeByteSegment of the
file qrcode/decoder/decoded_bit_stream_parser.cpp. The manipulation
leads to null pointer dereference. The attack can be launched
remotely. The exploit has been disclosed to the public and may
be used. It is recommended to apply a patch to fix this issue.
The associated identifier of this vulnerability is VDB-228547.
Signed-off-by: Soumya <soumya.sambu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The circular dependency was fixed in a different way in
meta-intel's openvino-inference-engine. Only some samples
in openvino use opencv and building the samples was made
optional.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Add PACKAGECONFIG[openvino]. It uses openvino-inference-engine-initial
as build dependency to avoid circular dependency.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The ipp related code has IP issue as below.
=====================================================================
$ cat tmp/work/corei7-64-wrs-linux/opencv/4.6.0-r0/git/ippicv_lnx/icv/include/ippicv.h | head -n 30
/*
// Copyright 2014-2019 Intel Corporation All Rights Reserved.
//
// The source code, information and material ("Material") contained herein is
// owned by Intel Corporation or its suppliers or licensors, and title
// to such Material remains with Intel Corporation or its suppliers or
// licensors. The Material contains proprietary information of Intel
// or its suppliers and licensors. The Material is protected by worldwide
// copyright laws and treaty provisions. No part of the Material may be used,
// copied, reproduced, modified, published, uploaded, posted, transmitted,
// distributed or disclosed in any way without Intel's prior express written
// permission. No license under any patent, copyright or other intellectual
// property rights in the Material is granted to or conferred upon you,
// either expressly, by implication, inducement, estoppel or otherwise.
// Any license under such intellectual property rights must be express and
// approved by Intel in writing.
//
// Unless otherwise agreed by Intel in writing,
// you may not remove or alter this notice or any other notice embedded in
// Materials by Intel or Intel's suppliers or licensors in any way.
//
*/
#if !defined( __IPPICV_H__ )
#define __IPPICV_H__
#ifdef __cplusplus
extern "C" {
#endif
=====================================================================
So disable intel IPP [1] to avoid IP issue.
[1] https://www.intel.com/content/www/us/en/developer/articles/troubleshooting/intel-integrated-performance-primitives-intel-ipp-open-source-computer-vision-library-opencv-faq.html
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
syntax for LICENSE_FLAGS_ACCEPTED can be "type_package" format as well
and some distros may enable commercial license selectively by not using
"commercial" as broadbrush but "commercial_ffmpeg" to just enable libav
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Download and unpack contrib modules and other repositories in S instead
of WORKDIR so they don't escape file-prefix-map substitutions.
Fixes a number of reproducibility problems because of OpenCV check
macros that were embedding path to files in contrib/.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
0001-use-GNUInstallDirs-for-detecting-install-paths.patch
removed since it's included in 0.1.2
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Disable sse4.1 and sse4.2 on x86 to fix the below build failure [1].
| ./opencv-4.5.5/git/modules/gapi/src/backends/fluid/gfluidcore_simd_sse41.hpp:387:47: error: '_mm_insert_epi64' was not declared in this scope; did you mean '_mm_insert_epi8'?
387 | val_0 = _mm_unpacklo_epi8(_mm_insert_epi64(val_0, reinterpret_cast<const int64_t>(&tmp[4 * (chanNum * mapsx[x + 1] + 1)]), 0), zero);
| ^~~~~~~~~~~~~~~~
| _mm_insert_epi8
[1] https://github.com/opencv/opencv/issues/21597
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Patch [1] was dropped but contrib repo was not updated leading into the
glog link issues for the sfm module. Update opencv_contrib 4.5.2 ->
4.5.5.
Error:
/var/lib/yocto/builds/build_honister/tmp/work/bobcat-poky-linux/
qtec-screwcounter-camera/1.0+gitAUTOINC+7f76d8d874-r0/
recipe-sysroot-native/usr/bin/x86_64-poky-linux/../../libexec/
x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/ld:
/var/lib/yocto/builds/build_honister/tmp/work/bobcat-poky-linux/
qtec-screwcounter-camera/1.0+gitAUTOINC+7f76d8d874-r0/recipe-sysroot/
usr/lib/../lib/libopencv_sfm.so:
undefined reference to `google::LogMessageFatal::LogMessageFatal(char
const*, int)'
[1]:
meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch
Signed-off-by: Daniel Gomez <dagmcr@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Drop backports.
Disable ffmpeg, as opencv is not yet compatible with ffmpeg 5.0.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>