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.
In ukui-greeter's case the build hardcodes the OpenCV 4 include
directory. Every compile command in the log carries
-I/usr/include/opencv4 (86 of them), and that directory does not exist
under OpenCV 5, whose headers live in /usr/include/opencv5. The flag is
clearly not coming from pkg-config -- OpenCV 5 ships no opencv4.pc, so a
pkg-config lookup would have produced nothing -- which means the path is
written out in the .pro file. With no usable include path,
greeter/loginoptionswidget.cpp:24 fails at "fatal error:
opencv2/opencv.hpp: No such file or directory" and make aborts on
loginoptionswidget.o. The header still exists in OpenCV 5; only the
directory changed. Replacing the hardcoded INCLUDEPATH entry with
PKGCONFIG += opencv5, or at minimum pointing it at /usr/include/opencv5,
is enough to fix this.
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.
/usr/lib/qt6/libexec/rcc -name ds-res display-switch/ds-res.qrc -o
qrc_ds-res.cpp
In file included from /usr/include/x86_64-linux-gnu/qt6/QtGui/qvalidator.h:13,
from
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qabstractspinbox.h:10,
from
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qstyleoption.h:12,
from
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QStyleOption:1,
from greeter/ktooltip.cpp:25:
/usr/include/x86_64-linux-gnu/qt6/QtCore/qregularexpression.h:31:21:
warning: defining ‘QRegularExpression’, which previously failed to be
complete in a SFINAE context [-Wsfinae-incomplete=]
31 | class Q_CORE_EXPORT QRegularExpression
| ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/16/unordered_map:44,
from /usr/include/c++/16/functional:80,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcomparehelpers.h:28,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qcompare.h:639,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qnamespace.h:13,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs.h:12,
from /usr/include/x86_64-linux-gnu/qt6/QtGui/qwindowdefs.h:8,
from /usr/include/x86_64-linux-gnu/qt6/QtWidgets/qwidget.h:9,
from /usr/include/x86_64-linux-gnu/qt6/QtWidgets/qframe.h:9,
from /usr/include/x86_64-linux-gnu/qt6/QtWidgets/qlabel.h:9:
/usr/include/c++/16/bits/range_access.h:325:24: note: here. Use
‘-Wsfinae-incomplete=2’ for a diagnostic at that point
325 | -> decltype(__cont.data())
| ~~~~~~~^~~~
/usr/lib/qt6/libexec/rcc -name keyboard
VirtualKeyboard/src/keyboard.qrc -o qrc_keyboard.cpp
In file included from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qtconfigmacros.h:12,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qtcoreglobal.h:13,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:24,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qnamespace.h:12,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs.h:12,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qobject.h:10,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/QObject:1,
from greeter/screen-manager.h:4,
from greeter/screen-manager.cpp:1:
/usr/include/x86_64-linux-gnu/qt6/QtCore/qtdeprecationdefinitions.h:18:4:
warning: #warning QT_DISABLE_DEPRECATED_UP_TO is set to the version
that is lower than the version that Qt was built with. This may lead
to linking issues. [-Wcpp]
18 | # warning QT_DISABLE_DEPRECATED_UP_TO is set to the version
that is lower than the version that \
| ^~~~~~~
/usr/lib/qt6/libexec/rcc -name image image.qrc -o qrc_image.cpp
/usr/lib/qt6/libexec/rcc -name qss qss.qrc -o qrc_qss.cpp
/usr/lib/qt6/libexec/rcc -name data data.qrc -o qrc_data.cpp
x86_64-linux-gnu-g++ -pipe -Wdeprecated-declarations -g -O2
-ffile-prefix-map=/build/reproducible-path/ukui-greeter-4.10.0.1=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -Wdate-time
-D_FORTIFY_SOURCE=2 -std=gnu++1z -pthread -pthread -pthread -p [...]
x86_64-linux-gnu-g++ -c -pipe -Wdeprecated-declarations -g -O2
-ffile-prefix-map=/build/reproducible-path/ukui-greeter-4.10.0.1=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -Wdate-time
-D_FORTIFY_SOURCE=2 -std=gnu++1z -pthread -pthread -pthread [...]
x86_64-linux-gnu-g++ -c -pipe -Wdeprecated-declarations -g -O2
-ffile-prefix-map=/build/reproducible-path/ukui-greeter-4.10.0.1=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -Wdate-time
-D_FORTIFY_SOURCE=2 -std=gnu++1z -pthread -pthread -pthread [...]
x86_64-linux-gnu-g++ -c -pipe -Wdeprecated-declarations -g -O2
-ffile-prefix-map=/build/reproducible-path/ukui-greeter-4.10.0.1=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -Wdate-time
-D_FORTIFY_SOURCE=2 -std=gnu++1z -pthread -pthread -pthread [...]
x86_64-linux-gnu-g++ -c -pipe -Wdeprecated-declarations -g -O2
-ffile-prefix-map=/build/reproducible-path/ukui-greeter-4.10.0.1=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -Wdate-time
-D_FORTIFY_SOURCE=2 -std=gnu++1z -pthread -pthread -pthread [...]
x86_64-linux-gnu-g++ -c -pipe -Wdeprecated-declarations -g -O2
-ffile-prefix-map=/build/reproducible-path/ukui-greeter-4.10.0.1=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -Wdate-time
-D_FORTIFY_SOURCE=2 -std=gnu++1z -pthread -pthread -pthread [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
common/libinputswitchevent.h: note: No relevant classes found. No
output generated.
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
greeter/servicemanager.cpp: In member function ‘void
ServiceManager::onDBusNameOwnerChanged(const QString&, const QString&,
const QString&)’:
greeter/servicemanager.cpp:77:60: warning: unused parameter
‘oldOwner’ [-Wunused-parameter]
77 | const QString &oldOwner,
| ~~~~~~~~~~~~~~~^~~~~~~~
In file included from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcborvalue.h:13,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qjsonvalue.h:8,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qjsonobject.h:8,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/QJsonObject:1,
from greeter/securityuser.cpp:20:
/usr/include/x86_64-linux-gnu/qt6/QtCore/qregularexpression.h:31:21:
warning: defining ‘QRegularExpression’, which previously failed to be
complete in a SFINAE context [-Wsfinae-incomplete=]
31 | class Q_CORE_EXPORT QRegularExpression
| ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/16/unordered_map:44,
from /usr/include/c++/16/functional:80,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcomparehelpers.h:28,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qcompare.h:639,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qchar.h:9,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qstring.h:15,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcoreapplication.h:8:
/usr/include/c++/16/bits/range_access.h:325:24: note: here. Use
‘-Wsfinae-incomplete=2’ for a diagnostic at that point
325 | -> decltype(__cont.data())
| ~~~~~~~^~~~
In file included from /usr/include/x86_64-linux-gnu/qt6/QtCore/QBitArray:1,
from greeter/greeterwrapper.cpp:23:
/usr/include/x86_64-linux-gnu/qt6/QtCore/qbitarray.h:12:21: warning:
defining ‘QBitArray’, which previously failed to be complete in a
SFINAE context [-Wsfinae-incomplete=]
12 | class Q_CORE_EXPORT QBitArray
| ^~~~~~~~~
In file included from /usr/include/c++/16/unordered_map:44,
from /usr/include/c++/16/functional:80,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcomparehelpers.h:28,
from /usr/include/x86_64-linux-gnu/qt6/QtCore/qcompare.h:639,
from
/usr/include/x86_64-linux-gnu/qt6/QtCore/qnamespace.h:13:
/usr/include/c++/16/bits/range_access.h:325:24: note: here. Use
‘-Wsfinae-incomplete=2’ for a diagnostic at that point
325 | -> decltype(__cont.data())
| ~~~~~~~^~~~
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
greeter/loginoptionswidget.cpp:24:10: fatal error:
opencv2/opencv.hpp: No such file or directory
24 | #include <opencv2/opencv.hpp>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
/usr/lib/qt6/libexec/moc -DQT_MESSAGELOGCONTEXT
-DGREETER_CONFIG=/usr/share/lightdm/ukui-greeter/
-DRESOURCE_PATH=/usr/share/ukui-greeter
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSEKSCREEN=0 -DSURPORT_SAVEPARAM=1
-DAPP_API_MAJOR=0 -DAPP_API_MINOR=11 -DAPP_API_FUNC=0
-DQT_DEPRECATED_WARNINGS -DQT_WIDGETS_ [...]
make[2]: *** [Makefile:1720: loginoptionswidget.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Please close this bug if it turns out to be a collision with another ongoing
transition rather than an OpenCV 5 problem.
Thanks,
Aron