Bug 467399 - 5.27.3 fails to build on backport to K/Ubuntu 22.10 or 22.04
Summary: 5.27.3 fails to build on backport to K/Ubuntu 22.10 or 22.04
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_flatpak (show other bugs)
Version: 5.27.3
Platform: Ubuntu Linux
: NOR major
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-15 14:32 UTC by Rik Mills
Modified: 2023-03-15 20:00 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rik Mills 2023-03-15 14:32:31 UTC
On a system/builder with Kubuntu backports for 22.10, trying to build flatpack-kcm 5.27.3 from git or the released tarball, the build fails with the error at the end of this report. Also see: https://launchpad.net/~rikmills/+archive/ubuntu/flatpack-kcm-ftbfs/+build/25672330

SOFTWARE/OS VERSIONS
Linux: K/Ubuntu 22.10
KDE Plasma Version: 5.27.3
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.6
GCC: 12.2.0

However, when building on K/Ubuntu 23.04 development version with Qt 5.15.8 and GCC 12.2.0, the build succeeds without problem. https://launchpad.net/ubuntu/+source/flatpak-kcm/5.27.3-0ubuntu1/+build/25669977

Doing a git bisect between 5.27.2 (builds ok) and 5.27.3, results in the 1st bad commit being shown to be:

https://invent.kde.org/plasma/flatpak-kcm/-/commit/7f441bf154e8e084d21c06e1ae2da829ddb518bc

**** failure build log extract ****

[ 41%] Building CXX object CMakeFiles/kcm_flatpak_static.dir/flatpakreference.cpp.o
/usr/bin/c++ -DKCOREADDONS_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_KEYWORDS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_URL_CAST_FROM_STRING -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICK_LIB -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER -DTRANSLATION_DOMAIN=\"kcm_flatpak\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu -I/<<PKGBUILDDIR>> -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/kcm_flatpak_static_autogen/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5 -isystem /usr/include/KF5/KConfig -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KDeclarative -isystem /usr/include/x86_64-linux-gnu/qt5/QtQuick -isystem /usr/include/x86_64-linux-gnu/qt5/QtQmlModels -isystem /usr/include/x86_64-linux-gnu/qt5/QtQml -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/flatpak -isystem /usr/include/ostree-1 -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/x86_64-linux-gnu/qt5/QtDBus -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Werror=undef -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -pedantic -Wzero-as-null-pointer-constant -Wmissing-include-dirs -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -pthread -std=c++17 -MD -MT CMakeFiles/kcm_flatpak_static.dir/flatpakhelper.cpp.o -MF CMakeFiles/kcm_flatpak_static.dir/flatpakhelper.cpp.o.d -o CMakeFiles/kcm_flatpak_static.dir/flatpakhelper.cpp.o -c /<<PKGBUILDDIR>>/flatpakhelper.cpp
/usr/bin/c++ -DKCOREADDONS_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_KEYWORDS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_URL_CAST_FROM_STRING -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICK_LIB -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER -DTRANSLATION_DOMAIN=\"kcm_flatpak\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu -I/<<PKGBUILDDIR>> -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/kcm_flatpak_static_autogen/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5 -isystem /usr/include/KF5/KConfig -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KDeclarative -isystem /usr/include/x86_64-linux-gnu/qt5/QtQuick -isystem /usr/include/x86_64-linux-gnu/qt5/QtQmlModels -isystem /usr/include/x86_64-linux-gnu/qt5/QtQml -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/flatpak -isystem /usr/include/ostree-1 -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/x86_64-linux-gnu/qt5/QtDBus -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Werror=undef -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -pedantic -Wzero-as-null-pointer-constant -Wmissing-include-dirs -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -pthread -std=c++17 -MD -MT CMakeFiles/kcm_flatpak_static.dir/flatpakreference.cpp.o -MF CMakeFiles/kcm_flatpak_static.dir/flatpakreference.cpp.o.d -o CMakeFiles/kcm_flatpak_static.dir/flatpakreference.cpp.o -c /<<PKGBUILDDIR>>/flatpakreference.cpp
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:48,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:45,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractitemmodel.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QAbstractListModel:1,
                 from /<<PKGBUILDDIR>>/flatpakreference.h:10,
                 from /<<PKGBUILDDIR>>/flatpakpermission.h:8,
                 from /<<PKGBUILDDIR>>/flatpakpermission.cpp:7:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h: In instantiation of ‘QVector<T>::iterator QVector<T>::insert(iterator, size_type, const T&) [with T = FlatpakPermission; iterator = QTypedArrayData<FlatpakPermission>::iterator; size_type = int]’:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:462:9:   required from ‘void QVector<T>::insert(int, const T&) [with T = FlatpakPermission]’
/<<PKGBUILDDIR>>/flatpakpermission.cpp:600:29:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:841:17: error: no matching function for call to ‘FlatpakPermission::FlatpakPermission()’
  841 |                 new (--i) T;
      |                 ^~~~~~~~~~~
/<<PKGBUILDDIR>>/flatpakpermission.cpp:26:1: note: candidate: ‘FlatpakPermission::FlatpakPermission(const QString&, const QString&, const QString&, ValueType, bool, const QString&, const QStringList&)’
   26 | FlatpakPermission::FlatpakPermission(const QString &name,
      | ^~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/flatpakpermission.cpp:26:1: note:   candidate expects 7 arguments, 0 provided
/<<PKGBUILDDIR>>/flatpakpermission.cpp:19:1: note: candidate: ‘FlatpakPermission::FlatpakPermission(const QString&)’
   19 | FlatpakPermission::FlatpakPermission(const QString &category)
      | ^~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/flatpakpermission.cpp:19:1: note:   candidate expects 1 argument, 0 provided
/<<PKGBUILDDIR>>/flatpakpermission.h:24:7: note: candidate: ‘FlatpakPermission::FlatpakPermission(const FlatpakPermission&)’
   24 | class FlatpakPermission
      |       ^~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/flatpakpermission.h:24:7: note:   candidate expects 1 argument, 0 provided
/<<PKGBUILDDIR>>/flatpakpermission.h:24:7: note: candidate: ‘FlatpakPermission::FlatpakPermission(FlatpakPermission&&)’
/<<PKGBUILDDIR>>/flatpakpermission.h:24:7: note:   candidate expects 1 argument, 0 provided
Comment 1 ratijas 2023-03-15 15:46:37 UTC
Rik, can you please try applying this patch to check if it fixes the build?

https://invent.kde.org/plasma/flatpak-kcm/-/merge_requests/62
Comment 2 Rik Mills 2023-03-15 17:15:11 UTC
(In reply to ratijas from comment #1)
> Rik, can you please try applying this patch to check if it fixes the build?
> 
> https://invent.kde.org/plasma/flatpak-kcm/-/merge_requests/62

I can confirm that the patch fixes the build. Thank you!
Comment 3 ratijas 2023-03-15 19:58:11 UTC
Git commit 7e644d8f39e38f5713938424fef6064261270023 by ivan tkachenko.
Committed on 15/03/2023 at 19:57.
Pushed by ratijas into branch 'master'.

FlatpakPermission: Add back no-args default constructor

Older toolchain such as Kubuntu requires default constructor to use this
class with QVector. Do not use this constructor manually.

M  +4    -0    flatpakpermission.h

https://invent.kde.org/plasma/flatpak-kcm/commit/7e644d8f39e38f5713938424fef6064261270023
Comment 4 ratijas 2023-03-15 19:58:50 UTC
Git commit 331105fa44a0b03c7f7f5a543b92aab3ec659385 by ivan tkachenko.
Committed on 15/03/2023 at 19:58.
Pushed by ratijas into branch 'Plasma/5.27'.

FlatpakPermission: Add back no-args default constructor

Older toolchain such as Kubuntu requires default constructor to use this
class with QVector. Do not use this constructor manually.
(cherry picked from commit 7e644d8f39e38f5713938424fef6064261270023)

M  +4    -0    flatpakpermission.h

https://invent.kde.org/plasma/flatpak-kcm/commit/331105fa44a0b03c7f7f5a543b92aab3ec659385
Comment 5 ratijas 2023-03-15 20:00:55 UTC
OK, Rik, gotta keep that in mind. Thank you too, and sorry for the breakage.