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.
kylin-scanner fails because its qmake project src/src.pro queries
pkg-config for the "opencv4" module before qmake will even generate a
Makefile; since libopencv-dev now installs only opencv5.pc, the qmake
run invoked from debian/rules (cd src/ && ... qmake -o Makefile
.../src/src.pro ...) aborts with "Project ERROR: opencv4 development
package not found" (log line 3533), which make then reports as
"[Makefile:47: sub-src-src-pro-make_first] Error 3" before
dh_auto_build exits with code 2. The maintainer should change the
PKGCONFIG (or packagesExist()) entry in src/src.pro from opencv4 to
opencv5, and update any hardcoded /usr/include/opencv4 include paths
in the .pro/.pri files to /usr/include/opencv5.
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: warning: to explicitly acknowledge the change.
dh: warning:
dh: warning: Please see the description of the "single-binary" in
"man dh" for more details of what
dh: warning: it does and why this is changing from implicit
behaviour to explicitly opt-in.
debian/rules override_dh_auto_clean
make[1]: Entering directory '/build/reproducible-path/kylin-scanner-1.0.0'
[ ! -d src/.moc ] || rm -f -r src/.moc
[ ! -d src/.obj ] || rm -f -r src/.obj
[ ! -d src/.ui ] || rm -f -r src/.ui
[ ! -f src/Makefile ] || dh_auto_clean
make[1]: Leaving directory '/build/reproducible-path/kylin-scanner-1.0.0'
dh_clean
debian/rules binary
dh binary
dh: warning: Implicitly activating single-binary dh addon for
backwards compatibility. In compat 14+,
dh: warning: this fallback will *not* happen automatically via
dh_auto_install will instead use a
dh: warning: different default for --destdir unless the
single-binary add-on is active,
dh: warning: which can cause the source to produce an empty binary package
dh: warning:
dh: warning: To keep the existing behaviour (compat 13), please
activate the single-binary addon explicitly.
dh: warning: This can be done by adding "dh-sequence-single-binary"
to Build-Depends or passing
dh: warning: --with=single-binary to dh.
dh: warning:
dh: warning: If you have solved this issue differently (e.g., by
passing --destdir explicitly to
dh: warning: dh_auto_install or not using dh_auto_install at all)
and want to silence this warning
dh: warning: without activating the addon, you can do that by
passing --without=single-binary to dh
dh: warning: to explicitly acknowledge the change.
dh: warning:
dh: warning: Please see the description of the "single-binary" in
"man dh" for more details of what
dh: warning: it does and why this is changing from implicit
behaviour to explicitly opt-in.
dh_update_autotools_config
dh_autoreconf
debian/rules override_dh_auto_configure
make[1]: Entering directory '/build/reproducible-path/kylin-scanner-1.0.0'
QT_SELECT=qt5 dh_auto_configure \
kylin-scanner.pro
Info: creating stash file
/build/reproducible-path/kylin-scanner-1.0.0/.qmake.stash
make[1]: Leaving directory '/build/reproducible-path/kylin-scanner-1.0.0'
debian/rules override_dh_auto_build
make[1]: Entering directory '/build/reproducible-path/kylin-scanner-1.0.0'
dh_auto_build -- PREFIX=/usr QMAKE=qmake LRELEASE=lrelease
QMAKE_OPTS="DEFINES+=NO_DEBUG_ON_CONSOLE"
make -j40 PREFIX=/usr QMAKE=qmake LRELEASE=lrelease
QMAKE_OPTS=DEFINES\+=NO_DEBUG_ON_CONSOLE
make[2]: Entering directory '/build/reproducible-path/kylin-scanner-1.0.0'
Project ERROR: opencv4 development package not found
make[2]: *** [Makefile:47: sub-src-src-pro-make_first] Error 3
make[2]: Leaving directory '/build/reproducible-path/kylin-scanner-1.0.0'
dh_auto_build: error: make -j40 PREFIX=/usr QMAKE=qmake
LRELEASE=lrelease QMAKE_OPTS=DEFINES\+=NO_DEBUG_ON_CONSOLE returned
exit code 2
make[1]: *** [debian/rules:30: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/kylin-scanner-1.0.0'
make: *** [debian/rules:15: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with
exit status 2
--------------------------------------------------------------------------------
Please close this bug if it turns out to be a collision with another ongoing
transition rather than an OpenCV 5 problem.
Thanks,
Aron