Subject: bug#32013: closed (Re: bug#32013: Krita dependency kxmlgui fails to build since Qt 5.11)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 01 Sep 2018 06:15:02 +0000

Your bug report

#32013: Krita dependency kxmlgui fails to build since Qt 5.11

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
32013: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32013
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#32013: Krita dependency kxmlgui fails to build since Qt 5.11
From: Leo Famulari <[email-masked]>
To: Björn Höfling <[email-masked]>
Cc: [email-masked]
Date: Sat, 1 Sep 2018 02:14:35 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On Fri, Aug 17, 2018 at 06:30:34PM +0200, Björn Höfling wrote:
> I played a bit around with this:

Thanks for investigating all this. I took your advice and upgraded the
KDE packages, and got kxmlgui and Krita working again.

Fixed by commit 600f1ad8e61e65ad9a1f22d099d16c5948cb1f48

Subject: Krita dependency kxmlgui fails to build since Qt 5.11
From: Leo Famulari <[email-masked]>
To: [email-masked]
Date: Fri, 29 Jun 2018 17:02:36 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Since we upgraded Qt to 5.11, Krita's dependency kxmlgui has failed to
build:

https://hydra.gnu.org/build/2815173

We see this:

------
/tmp/guix-build-kxmlgui-5.42.0.drv-0/kxmlgui-5.42.0/src/kshortcuteditwidget.cpp: In lambda function:
/tmp/guix-build-kxmlgui-5.42.0.drv-0/kxmlgui-5.42.0/src/kshortcuteditwidget.cpp:94:27: error: comparison between distinct pointer types ‘QAction*’ and ‘QObject*’ lacks a cast
             if (action != m_action) {
                           ^
In file included from /gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtGui/qtguiglobal.h:43:0,
                 from /gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtWidgets/qwidget.h:43,
                 from /gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtWidgets/QWidget:1,
                 from /tmp/guix-build-kxmlgui-5.42.0.drv-0/kxmlgui-5.42.0/src/kshortcutseditor.h:30,
                 from /tmp/guix-build-kxmlgui-5.42.0.drv-0/kxmlgui-5.42.0/src/kshortcutsdialog_p.h:25,
                 from /tmp/guix-build-kxmlgui-5.42.0.drv-0/kxmlgui-5.42.0/src/kshortcuteditwidget.cpp:26:
/gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtCore/qmetatype.h: In instantiation of ‘struct QtPrivate::IsPointerToTypeDerivedFromQObject<QAction*>’:
/gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtCore/qmetatype.h:1614:60:   required from ‘struct QMetaTypeId<QAction*>’
/gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtCore/qmetatype.h:1633:10:   required from ‘struct QMetaTypeId2<QAction*>’
/gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtCore/qobject_impl.h:68:49:   required from ‘struct QtPrivate::TypesAreDeclaredMetaType<QtPrivate::List<QAction*, const QKeySequence&> >’
/gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtCore/qobject.h:327:86:   required from ‘static typename std::enable_if<(QtPrivate::FunctionPointer<Func2>::ArgumentCount == (-1)), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const QObject*, Func2, Qt::ConnectionType) [with Func1 = void (KGlobalAccel::*)(QAction*, const QKeySequence&); Func2 = ShortcutEditWidget::ShortcutEditWidget(QWidget*, const QKeySequence&, const QKeySequence&, bool)::<lambda(QAction*, const QKeySequence&)>; typename std::enable_if<(QtPrivate::FunctionPointer<Func2>::ArgumentCount == (-1)), QMetaObject::Connection>::type = QMetaObject::Connection; typename QtPrivate::FunctionPointer<Func>::Object = KGlobalAccel]’
/tmp/guix-build-kxmlgui-5.42.0.drv-0/kxmlgui-5.42.0/src/kshortcuteditwidget.cpp:99:5:   required from here
/gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtCore/qmetatype.h:1386:9: error: invalid application of ‘sizeof’ to incomplete type ‘QAction’
         Q_STATIC_ASSERT_X(sizeof(T), "Type argument of Q_DECLARE_METATYPE(T*) must be fully defined");
         ^
In file included from /gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtCore/qobjectdefs.h:50:0,
                 from /gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtGui/qwindowdefs.h:44,
                 from /gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtWidgets/qwidget.h:44,
                 from /gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtWidgets/QWidget:1,
                 from /tmp/guix-build-kxmlgui-5.42.0.drv-0/kxmlgui-5.42.0/src/kshortcutseditor.h:30,
                 from /tmp/guix-build-kxmlgui-5.42.0.drv-0/kxmlgui-5.42.0/src/kshortcutsdialog_p.h:25,
                 from /tmp/guix-build-kxmlgui-5.42.0.drv-0/kxmlgui-5.42.0/src/kshortcuteditwidget.cpp:26:
/gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtCore/qobjectdefs_impl.h: At global scope:
/gnu/store/kjzfprjsjgyi2y7ybs7rinaac7gziabb-qtbase-5.11.0/include/qt5/QtCore/qobjectdefs_impl.h:429:18: error: ‘QtPrivate::QFunctorSlotObject<Func, N, Args, R>::QFunctorSlotObject(Func) [with Func = ShortcutEditWidget::ShortcutEditWidget(QWidget*, const QKeySequence&, const QKeySequence&, bool)::<lambda(QAction*, const QKeySequence&)>; int N = 2; Args = QtPrivate::List<QAction*, const QKeySequence&>; R = void]’, declared using local type ‘ShortcutEditWidget::ShortcutEditWidget(QWidget*, const QKeySequence&, const QKeySequence&, bool)::<lambda(QAction*, const QKeySequence&)>’, is used but never defined [-fpermissive]
         explicit QFunctorSlotObject(Func f) : QSlotObjectBase(&impl), function(std::move(f)) {}
                  ^
make[2]: *** [src/CMakeFiles/KF5XmlGui.dir/build.make:302: src/CMakeFiles/KF5XmlGui.dir/kshortcuteditwidget.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/tmp/guix-build-kxmlgui-5.42.0.drv-0/build'
make[1]: *** [CMakeFiles/Makefile2:262: src/CMakeFiles/KF5XmlGui.dir/all] Error 2
make[1]: Leaving directory '/tmp/guix-build-kxmlgui-5.42.0.drv-0/build'
make: *** [Makefile:144: all] Error 2
Backtrace:
           4 (primitive-load "/gnu/store/ljdraf9d3rc0lg4m9iqgzxr0155…")
In ice-9/eval.scm:
   191:35  3 (_ _)
In srfi/srfi-1.scm:
    640:9  2 (for-each #<procedure 974980 at /gnu/store/qzsljkcllc0…> …)
In /gnu/store/qzsljkcllc01dmdq9z0yrqri3ajam3vp-module-import/guix/build/gnu-build-system.scm:
   799:31  1 (_ _)
In /gnu/store/qzsljkcllc01dmdq9z0yrqri3ajam3vp-module-import/guix/build/utils.scm:
    616:6  0 (invoke _ . _)

/gnu/store/qzsljkcllc01dmdq9z0yrqri3ajam3vp-module-import/guix/build/utils.scm:616:6: In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "make" arguments: ("-j" "4") exit-status: 2 term-signal: #f stop-signal: #f] 9ddfc0>)'.
builder for `/gnu/store/4b1nca913a2spjf9z6z35v1wqj761qqj-kxmlgui-5.42.0.drv' failed with exit code 1
------