#1147655 eviacam: FTBFS with OpenCV 5.0

#1147655#5
Date:
2026-09-14 09:35:15 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.

eviacam fails because its configure.ac only probes pkg-config for the
module names "opencv" and "opencv4" before giving up, as shown in the
build log at line 3971 ("checking opencv version..." through "configure:
error: opencv is required."). Both PKG_CHECK_MODULES probes miss,
configure exits with an error, and dh_auto_configure fails before the
build ever reaches the compile stage (dh_auto_build). The maintainer
should add "opencv5" (in addition to, or instead of, "opencv4")
to the PKG_CHECK_MODULES/pkg-config candidate list in configure.ac,
and regenerate configure with autoreconf so the new module name is
actually checked.

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.

  checking if x86_64-linux-gnu-g++ supports -c -o file.o... yes
  checking if x86_64-linux-gnu-g++ supports -c -o file.o... (cached) yes
  checking whether the x86_64-linux-gnu-g++ linker
(/usr/bin/x86_64-linux-gnu-ld -m elf_x86_64) supports shared
libraries... yes
  checking dynamic linker characteristics... (cached) GNU/Linux ld.so
  checking how to hardcode library paths into programs... immediate
  checking how to run the C preprocessor... x86_64-linux-gnu-gcc -E
  checking for gawk... (cached) mawk
  checking whether ln -s works... yes
  checking whether make sets $(MAKE)... (cached) yes
  checking whether NLS is requested... yes
  checking for msgfmt... /usr/bin/msgfmt
  checking for gmsgfmt... /usr/bin/msgfmt
  checking for xgettext... /usr/bin/xgettext
  checking for msgmerge... /usr/bin/msgmerge
  checking for ld... /usr/bin/x86_64-linux-gnu-ld -m elf_x86_64
  checking if the linker (/usr/bin/x86_64-linux-gnu-ld -m elf_x86_64)
is GNU ld... yes
  checking for shared library run path origin... done
  checking 32-bit host C ABI... no
  checking for egrep -e... (cached) /usr/bin/grep -E
  checking for ELF binary format... yes
  checking for the common suffixes of directories in the library
search path... lib,lib,lib64
  checking for CFPreferencesCopyAppValue... no
  checking for CFLocaleCopyPreferredLanguages... no
  checking for GNU gettext in libc... yes
  checking whether to use NLS... yes
  checking where the gettext function comes from... libc
  configure: build in debug mode... false
  configure: check for updates feature... no
  configure: check dependencies... yes
  checking for main in -lX11... yes
  checking for main in -lXext... yes
  checking for main in -lXtst... yes
  checking for pow... no
  checking for sqrt... no
  checking for X... libraries , headers
  checking for gethostbyname... yes
  checking for connect... yes
  checking for remove... yes
  checking for shmat... yes
  checking for IceConnectionNumber in -lICE... yes
  checking for pkg-config... /usr/bin/pkg-config
  checking pkg-config is at least version 0.9.0... yes
  checking gtk version... 3.24.52
  checking wxWidgets version... 3.2.11
  checking opencv version... Package opencv was not found in the
pkg-config search path.
  Perhaps you should add the directory containing `opencv.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'opencv' not found
  Package opencv4 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `opencv4.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'opencv4' not found
  not found
  configure: error: opencv is required.

Please close this bug if it turns out to be a collision with another ongoing
transition rather than an OpenCV 5 problem.

Thanks,
Aron