#1147676 kylin-scanner: FTBFS with OpenCV 5.0

#1147676#5
Date:
2026-09-14 10:50:40 UTC
From:
To:
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

#1147676#12
Date:
2026-09-30 07:39:07 UTC
From:
To:
Dear maintainer,

I've prepared a patch fixing this issue, please consider incorporating
it. Please ignore this message if you already have a working patch.

Regards,
Aron

#1147676#19
Date:
2026-10-02 15:29:10 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
kylin-scanner, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1147676@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
handsome_feng <jianfengli@ubuntukylin.com> (supplier of updated kylin-scanner package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 01 Oct 2026 08:38:15 -0400
Source: kylin-scanner
Architecture: source
Version: 1.0.1-1
Distribution: unstable
Urgency: medium
Maintainer: Kylin Team <team+kylin@tracker.debian.org>
Changed-By: handsome_feng <jianfengli@ubuntukylin.com>
Closes: 1147676
Changes:
 kylin-scanner (1.0.1-1) unstable; urgency=medium
 .
   [ zhangpan & Aron Xu]
   * New upstream bugfix-only release.
   * Fix build with OpenCV 5: select the pkg-config module between
     opencv4 and opencv5 with packagesExist(), drop the removed
     opencv2/imgproc/imgproc_c.h C API header and the removed
     CV_RGB2HSV/CV_HSV2RGB/CV_MINMAX macros, and include the geometry
     header that now provides getRotationMatrix2D.
     (Closes: #1147676)
Checksums-Sha1:
 721df722559415d6bdcb7d68868c9f41491d1747 2167 kylin-scanner_1.0.1-1.dsc
 452fddb812561ff5cdb394e6aa7bbe4451f046cc 202271 kylin-scanner_1.0.1.orig.tar.gz
 e6a5d1ff80f8f581f32a2245f41c69d926851fb2 3096 kylin-scanner_1.0.1-1.debian.tar.xz
 9325a577797d46a9f88819744cd358db4c63ff76 24431 kylin-scanner_1.0.1-1_source.buildinfo
Checksums-Sha256:
 a4199842bcbf4cb264885b8e8036e0652a4bc498c61ef7250865bd5ce9246e07 2167 kylin-scanner_1.0.1-1.dsc
 937ebe92da0db7b1c1a432b16980ec350b0fb68129af973853683f05cde84a25 202271 kylin-scanner_1.0.1.orig.tar.gz
 3027a85776a54de4cc8c0e30cb08ecfef61e95fa9ad35057a2bc0652a244f061 3096 kylin-scanner_1.0.1-1.debian.tar.xz
 ad80269393398a481df87c4285e8119b5d6e06e297f34549f9a44b49b2204b06 24431 kylin-scanner_1.0.1-1_source.buildinfo
Files:
 0060a09fc49aa3e96eedde07faa24806 2167 devel optional kylin-scanner_1.0.1-1.dsc
 23ee9d42c84788cba19598087a81378c 202271 devel optional kylin-scanner_1.0.1.orig.tar.gz
 30fae8143d1044026578d2bb0d1f1209 3096 devel optional kylin-scanner_1.0.1-1.debian.tar.xz
 d0727536c5db81696431fea9894ee8d4 24431 devel optional kylin-scanner_1.0.1-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJPBAEBCgA5FiEEhsgAHpUwnacZWWSCm7hQwBMRHwwFAmq/ybYbHGppYW5mZW5n
bGlAdWJ1bnR1a3lsaW4uY29tAAoJEJu4UMATER8MMq8P/i6YHXzs1kQ0+xIQmgre
0N5EQ1Vk+w2KeFpqvSIttHDBB6FK5eU5SmQvVPGK5nOI5OGxnMsR7+Qr4UCqKJEF
5Q3V4jnhvWSsIYSZFZOLH0WGn25DMkiLhqihikfk1cf+9A2pJfjOBvrVE1cfmx1w
4XNcnKMImT/Egv/8Qadqe2V1B8d8DXLkCnm/zuGug3vknLFqU3DlSxzO0heCJyjw
nXIqN6IZ1RzKl2o3Yr4c+dggARmgcVdsKTJ+aGSOLxg7Hi1cFg8ZMeQO3VQ6jbtO
JOBp+0OgQBdgD9GXrXdJeJI7gjVvapvhnan9EP/05ucR7sLdablOtt67mQhs9Oga
GiQAH59TQQylshGjfkNzNn1yKq1onIzlwRFUghSGYU+BnlxH4Wupr9F4soSucQUM
zl+96IB+/IVEe4zf+j05madiSFhUEGYthYMDdDXvPH6XbyQm8dWF6K6sNl+IatNg
6JcLnv6kZQYnPFz+FWxIM5zLf5ejKkjd+5Ec2JsM9kCDWontEowd8rnd55dhj3Hd
MHs7eJP0C4P45Yv85yP+77Lbv2cjgst5Zj8e2TmD7oJ/LegIShvhMptAl78V3++0
zwJXLEwUVF3JhUNzJWxL9jjbzslCFBcn1sl/s9oUlzjkCqHp5mplSvxxsJr60gPn
7vYn+WsOAB1MjB39MeDMtJSK
=SGcm
-----END PGP SIGNATURE-----