#1147694 xsnow: FTBFS with OpenCV 5.0

#1147694#5
Date:
2026-09-14 11:43:49 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.

xsnow fails because its configure script's PKG_CHECK_MODULES probe queries
pkg-config for the module name "opencv4" (log lines 3925-3926 / excerpt
lines 46-47: "checking for opencv4... no" / "configure: error: Package
requirements (opencv4) were not met:"). This is a hardcoded module name in
configure.ac (via PKG_CHECK_MODULES(CV, opencv4 ...)), not a compile-time
API break, so xsnow needs no source changes. The maintainer should update
configure.ac to probe for "opencv5" instead of "opencv4" (or accept either
name), then run autoreconf to regenerate configure.

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 whether x86_64-linux-gnu-g++ accepts -g... yes
  checking dependency style of x86_64-linux-gnu-g++... none
  checking for ranlib... ranlib
  checking for x86_64-pc-linux-gnu-gcc... no
  checking for gcc... gcc
  checking whether the compiler supports GNU C... yes
  checking whether gcc accepts -g... yes
  checking for gcc option to enable C23 features... (cached) none needed
  checking whether gcc understands -c and -o together... yes
  checking dependency style of gcc... none
  checking whether the C compiler works... yes
  checking for C compiler default output file name... a.out
  checking for suffix of executables...
  checking whether we are cross compiling... no
  checking for suffix of object files... o
  checking how to run the C preprocessor... gcc -E
  checking for X... libraries , headers
  checking for stdio.h... yes
  checking for stdlib.h... yes
  checking for string.h... yes
  checking for inttypes.h... yes
  checking for stdint.h... yes
  checking for strings.h... yes
  checking for sys/stat.h... yes
  checking for sys/types.h... yes
  checking for unistd.h... yes
  checking for assert.h... yes
  checking for ctype.h... yes
  checking for math.h... yes
  checking for pthread.h... yes
  checking for signal.h... yes
  checking for stdarg.h... yes
  checking for stdio.h... (cached) yes
  checking for stdlib.h... (cached) yes
  checking for string.h... (cached) yes
  checking for unistd.h... (cached) yes
  checking for execinfo.h... yes
  checking for iostream... yes
  checking for unordered_map... yes
  checking for unordered_set... yes
  checking for pkg-config... /usr/bin/pkg-config
  checking pkg-config is at least version 0.9.0... yes
  checking for gtk+-3.0 gmodule-2.0... yes
  checking for x11 xpm xt xext xproto xinerama xtst... yes
  checking for gsl... yes
  checking for opencv4... no
  configure: error: Package requirements (opencv4) were not met:

  Package 'opencv4' not found

  Consider adjusting the PKG_CONFIG_PATH environment variable if you
  installed software in a non-standard prefix.

  Alternatively, you may set the environment variables CV_CFLAGS
  and CV_LIBS to avoid the need to call pkg-config.
  See the pkg-config man page for more details.

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

Thanks,
Aron