Dear maintainer,
Your package fails to build from source against opencv 5.0.0+dfsg-1~exp1,
currently in experimental.
OpenCV 5.0 renames its entire install tree from opencv4 to opencv5 and ships
no compatibility shims:
* pkg-config: only /usr/lib/<triplet>/pkgconfig/opencv5.pc. There is no
opencv4.pc and no opencv.pc.
* headers: /usr/include/opencv5/opencv2/..., no /usr/include/opencv4.
* cmake: /usr/lib/<triplet>/cmake/opencv5/OpenCVConfig.cmake. A bare
find_package(OpenCV) still resolves, but a pinned version
such as find_package(OpenCV 4.7) no longer matches.
* modules: libopencv-calib3d-dev is split into libopencv-calib-dev,
libopencv-geometry-dev, libopencv-stereo-dev and
libopencv-ptcloud-dev; libopencv-features2d-dev becomes
libopencv-features-dev. The CMake component names change
with them (features2d -> features).
* geometry: the new geometry module is not only a piece of calib3d. It
also absorbs shape and contour functions that used to live
in imgproc -- contourArea, arcLength, approxPolyDP,
boundingRect, minAreaRect, convexHull and
getPerspectiveTransform among them -- and opencv2/opencv.hpp
does not pull in opencv2/geometry.hpp, so code that reached
those through the umbrella header now needs an explicit
include of opencv2/geometry.hpp.
Sight fails because lib/geometry/vision/Dependencies.cmake:1 calls
find_package(OpenCV ... COMPONENTS calib3d aruco ...), and the
opencv5 CMake config
(/usr/lib/x86_64-linux-gnu/cmake/opencv5/OpenCVConfig.cmake:356)
reports "Could NOT find OpenCV (missing: opencv_calib3d
opencv_aruco) (found version 5.0.0)", aborting the configure
invoked from lib/geometry/vision/CMakeLists.txt:1 via
cmake/build/macros.cmake:1154. opencv_aruco is likewise missing
under that name in this opencv5 build, per the same error. The
maintainer should check which OpenCV symbols lib/geometry/vision/
actually uses (camera calibration vs. marker detection) and
replace calib3d/aruco in that find_package(OpenCV COMPONENTS ...)
call with the matching opencv5 component names, verifying the
exact aruco replacement via pkg-config --list-all | grep opencv or
the component list exported by opencv5/OpenCVConfig.cmake.
The same source builds fine in the same chroot against the OpenCV 4.10
packages currently in unstable, so this is specific to OpenCV 5.
The relevant part of the build log follows; the full log is attached.
dh_auto_configure -- \
-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE \
-DCMAKE_INSTALL_RPATH="/usr/lib/x86_64-linux-gnu/sight" \
-Wno-dev \
-DSIGHT_BUILD_EXAMPLES=OFF \
-DSIGHT_BUILD_TESTS=OFF \
-DGIT_TAG=26.0.0 \
-DSIGHT_ARCH=x86-64 \
-DSIGHT_BUILD_MANPAGES=ON \
-DCMAKE_BUILD_TYPE=Release
cd obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb
PKG_CONFIG=x86_64-linux-gnu-pkg-config cmake
-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None
-DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var
-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON
-DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -D [...]
-- The C compiler identification is GNU 16.2.0
-- The CXX compiler identification is GNU 16.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/x86_64-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/x86_64-linux-gnu-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
CMake Warning at CMakeLists.txt:147 (message):
CMAKE_INSTALL_PREFIX (/usr) isn't empty.Please select another folder or
clean it before running install command.