Bug 472572

Summary: Fails to build with KF6 as of recently
Product: [Applications] dolphin Reporter: Nate Graham <nate>
Component: generalAssignee: Dolphin Bug Assignee <dolphin-bugs-null>
Status: RESOLVED FIXED    
Severity: grave CC: jpetso, kfm-devel
Priority: NOR Keywords: qt6, regression
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nate Graham 2023-07-24 13:08:02 UTC
[ 59%] Building CXX object src/CMakeFiles/dolphinstatic.dir/statusbar/mountpointobserver.cpp.o
In file included from /usr/include/qt6/QtCore/QObject:1,
                 from /home/nate/kde/usr6/include/KF6/KCoreAddons/kjob.h:14,
                 from /home/nate/kde/usr6/include/KF6/KCoreAddons/kcompositejob.h:13,
                 from /home/nate/kde/usr6/include/KF6/KCoreAddons/KCompositeJob:1,
                 from /home/nate/kde/usr6/include/KF6/KIOCore/kio/job_base.h:12,
                 from /home/nate/kde/usr6/include/KF6/KIOCore/kio/filecopyjob.h:12,
                 from /home/nate/kde/usr6/include/KF6/KIOCore/kio/jobclasses.h:13,
                 from /home/nate/kde/usr6/include/KF6/KIOCore/kio/job.h:47,
                 from /home/nate/kde/usr6/include/KF6/KIOCore/KIO/Job:1,
                 from /home/nate/kde/src/dolphin/src/statusbar/mountpointobserver.h:10,
                 from /home/nate/kde/src/dolphin/src/statusbar/mountpointobserver.cpp:7:
/usr/include/qt6/QtCore/qobject.h: In instantiation of ‘static QMetaObject::Connection QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const typename QtPrivate::FunctionPointer<Func2>::Object*, Func2, Qt::ConnectionType) [with Func1 = void (KJob::*)(KJob*, KJob::QPrivateSignal); Func2 = void (MountPointObserver::*)(KIO::Job*, long long unsigned int, long long unsigned int); typename QtPrivate::FunctionPointer<Func>::Object = KJob; typename QtPrivate::FunctionPointer<Func2>::Object = MountPointObserver]’:
/home/nate/kde/src/dolphin/src/statusbar/mountpointobserver.cpp:32:16:   required from here
/usr/include/qt6/QtCore/qobject.h:212:54: error: static assertion failed: The slot requires more arguments than the signal provides.
  212 |         static_assert(int(SignalType::ArgumentCount) >= int(SlotType::ArgumentCount),
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobject.h:212:54: note: the comparison reduces to ‘(2 >= 3)’
In file included from /usr/include/qt6/QtCore/qobjectdefs.h:13,
                 from /usr/include/qt6/QtCore/qurl.h:9,
                 from /usr/include/qt6/QtCore/QUrl:1,
                 from /home/nate/kde/usr6/include/KF6/KIOCore/kio/job.h:14:
/usr/include/qt6/QtCore/qobjectdefs_impl.h: In instantiation of ‘struct QtPrivate::AreArgumentsCompatible<KJob*, KIO::Job*>’:
/usr/include/qt6/QtCore/qobjectdefs_impl.h:300:122:   required from ‘struct QtPrivate::CheckCompatibleArguments<QtPrivate::List<KJob*, KJob::QPrivateSignal>, QtPrivate::List<KIO::Job*, long long unsigned int, long long unsigned int> >’
/usr/include/qt6/QtCore/qobject.h:214:123:   required from ‘static QMetaObject::Connection QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const typename QtPrivate::FunctionPointer<Func2>::Object*, Func2, Qt::ConnectionType) [with Func1 = void (KJob::*)(KJob*, KJob::QPrivateSignal); Func2 = void (MountPointObserver::*)(KIO::Job*, long long unsigned int, long long unsigned int); typename QtPrivate::FunctionPointer<Func>::Object = KJob; typename QtPrivate::FunctionPointer<Func2>::Object = MountPointObserver]’
/home/nate/kde/src/dolphin/src/statusbar/mountpointobserver.cpp:32:16:   required from here
/usr/include/qt6/QtCore/qobjectdefs_impl.h:284:64: error: static assertion failed: Signal and slot arguments are not compatible (narrowing)
  284 |         static_assert(AreArgumentsConvertibleWithoutNarrowing::value, "Signal and slot arguments are not compatible (narrowing)");
      |                                                                ^~~~~
/usr/include/qt6/QtCore/qobjectdefs_impl.h:284:64: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
/usr/include/qt6/QtCore/qobjectdefs_impl.h: In instantiation of ‘struct QtPrivate::AreArgumentsCompatible<KJob::QPrivateSignal, long long unsigned int>’:
/usr/include/qt6/QtCore/qobjectdefs_impl.h:300:122:   required from ‘struct QtPrivate::CheckCompatibleArguments<QtPrivate::List<KJob::QPrivateSignal>, QtPrivate::List<long long unsigned int, long long unsigned int> >’
/usr/include/qt6/QtCore/qobjectdefs_impl.h:301:82:   required from ‘struct QtPrivate::CheckCompatibleArguments<QtPrivate::List<KJob*, KJob::QPrivateSignal>, QtPrivate::List<KIO::Job*, long long unsigned int, long long unsigned int> >’
/usr/include/qt6/QtCore/qobject.h:214:123:   required from ‘static QMetaObject::Connection QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const typename QtPrivate::FunctionPointer<Func2>::Object*, Func2, Qt::ConnectionType) [with Func1 = void (KJob::*)(KJob*, KJob::QPrivateSignal); Func2 = void (MountPointObserver::*)(KIO::Job*, long long unsigned int, long long unsigned int); typename QtPrivate::FunctionPointer<Func>::Object = KJob; typename QtPrivate::FunctionPointer<Func2>::Object = MountPointObserver]’
/home/nate/kde/src/dolphin/src/statusbar/mountpointobserver.cpp:32:16:   required from here
/usr/include/qt6/QtCore/qobjectdefs_impl.h:284:64: error: static assertion failed: Signal and slot arguments are not compatible (narrowing)
/usr/include/qt6/QtCore/qobjectdefs_impl.h:284:64: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
/usr/include/qt6/QtCore/qobject.h: In instantiation of ‘static QMetaObject::Connection QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const typename QtPrivate::FunctionPointer<Func2>::Object*, Func2, Qt::ConnectionType) [with Func1 = void (KJob::*)(KJob*, KJob::QPrivateSignal); Func2 = void (MountPointObserver::*)(KIO::Job*, long long unsigned int, long long unsigned int); typename QtPrivate::FunctionPointer<Func>::Object = KJob; typename QtPrivate::FunctionPointer<Func2>::Object = MountPointObserver]’:
/home/nate/kde/src/dolphin/src/statusbar/mountpointobserver.cpp:32:16:   required from here
/usr/include/qt6/QtCore/qobject.h:214:123: error: static assertion failed: Signal and slot arguments are not compatible.
  214 |         static_assert((QtPrivate::CheckCompatibleArguments<typename SignalType::Arguments, typename SlotType::Arguments>::value),
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/usr/include/qt6/QtCore/qobject.h:214:123: note: ‘QtPrivate::CheckCompatibleArguments<QtPrivate::List<KJob*, KJob::QPrivateSignal>, QtPrivate::List<KIO::Job*, long long unsigned int, long long unsigned int> >::value’ evaluates to false
/usr/include/qt6/QtCore/qobjectdefs_impl.h: In instantiation of ‘struct QtPrivate::List_Left<QtPrivate::List<>, 1>’:
/usr/include/qt6/QtCore/qobjectdefs_impl.h:37:118:   recursively required from ‘struct QtPrivate::List_Left<QtPrivate::List<KJob::QPrivateSignal>, 2>’
/usr/include/qt6/QtCore/qobjectdefs_impl.h:37:118:   required from ‘struct QtPrivate::List_Left<QtPrivate::List<KJob*, KJob::QPrivateSignal>, 3>’
/usr/include/qt6/QtCore/qobject.h:225:28:   required from ‘static QMetaObject::Connection QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const typename QtPrivate::FunctionPointer<Func2>::Object*, Func2, Qt::ConnectionType) [with Func1 = void (KJob::*)(KJob*, KJob::QPrivateSignal); Func2 = void (MountPointObserver::*)(KIO::Job*, long long unsigned int, long long unsigned int); typename QtPrivate::FunctionPointer<Func>::Object = KJob; typename QtPrivate::FunctionPointer<Func2>::Object = MountPointObserver]’
/home/nate/kde/src/dolphin/src/statusbar/mountpointobserver.cpp:32:16:   required from here
/usr/include/qt6/QtCore/qobjectdefs_impl.h:37:118: error: no type named ‘Car’ in ‘struct QtPrivate::List<>’
   37 |         typedef typename List_Append<List<typename L::Car>,typename List_Left<typename L::Cdr, N - 1>::Value>::Value Value;
      |                                                                                                                      ^~~~~
gmake[2]: *** [src/CMakeFiles/dolphinstatic.dir/build.make:927: src/CMakeFiles/dolphinstatic.dir/statusbar/mountpointobserver.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:796: src/CMakeFiles/dolphinstatic.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
Comment 1 Jakob Petsovits 2023-07-26 13:30:08 UTC
Commit https://invent.kde.org/system/dolphin/-/commit/a9123455de26c6638deabca8901a0f030451c7c8 should fix the build issue, can you confirm that this works for you?
Comment 2 Nate Graham 2023-07-26 17:07:26 UTC
Yep, it builds now. Thanks for following up!