psi-im / plugins

Officially supported Psi plugins
56 stars 24 forks source link

Qt 5.11 build failure #39

Closed xvitaly closed 6 years ago

xvitaly commented 6 years ago
[346/1427] /usr/bin/c++  -DHAVE_QT5 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_XML_LIB -Djabberdiskplugin_EXPORTS -Isrc/plugins/generic/jabberdiskplugin/jabberdiskplugin_autogen/include -I../ -Isrc/plugins/generic/jabberdiskplugin -I../src/plugins/generic/jabberdiskplugin/../../include -I../src/plugins/generic/jabberdiskplugin/. -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/./mkspecs/linux-g++ -isystem /usr/include/qt5/QtXml -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -std=c++11 -Wall -Wextra -DNDEBUG -fPIC   -fPIC -std=gnu++11 -MD -MT src/plugins/generic/jabberdiskplugin/CMakeFiles/jabberdiskplugin.dir/jabberdiskplugin.cpp.o -MF src/plugins/generic/jabberdiskplugin/CMakeFiles/jabberdiskplugin.dir/jabberdiskplugin.cpp.o.d -o src/plugins/generic/jabberdiskplugin/CMakeFiles/jabberdiskplugin.dir/jabberdiskplugin.cpp.o -c ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp
FAILED: src/plugins/generic/jabberdiskplugin/CMakeFiles/jabberdiskplugin.dir/jabberdiskplugin.cpp.o 
/usr/bin/c++  -DHAVE_QT5 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_XML_LIB -Djabberdiskplugin_EXPORTS -Isrc/plugins/generic/jabberdiskplugin/jabberdiskplugin_autogen/include -I../ -Isrc/plugins/generic/jabberdiskplugin -I../src/plugins/generic/jabberdiskplugin/../../include -I../src/plugins/generic/jabberdiskplugin/. -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/./mkspecs/linux-g++ -isystem /usr/include/qt5/QtXml -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -std=c++11 -Wall -Wextra -DNDEBUG -fPIC   -fPIC -std=gnu++11 -MD -MT src/plugins/generic/jabberdiskplugin/CMakeFiles/jabberdiskplugin.dir/jabberdiskplugin.cpp.o -MF src/plugins/generic/jabberdiskplugin/CMakeFiles/jabberdiskplugin.dir/jabberdiskplugin.cpp.o.d -o src/plugins/generic/jabberdiskplugin/CMakeFiles/jabberdiskplugin.dir/jabberdiskplugin.cpp.o -c ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp: In member function 'virtual QAction* JabberDiskPlugin::getContactAction(QObject*, int, const QString&)':
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:201:82: error: invalid use of incomplete type 'class QAction'
    QAction* act = new QAction(iconHost->getIcon("psi/save"), tr("Jabber Disk"), p);
                                                                                  ^
In file included from ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:23:
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.h:24:7: note: forward declaration of 'class QAction'
 class QAction;
       ^~~~~~~
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:202:7: error: invalid use of incomplete type 'class QAction'
    act->setProperty("account", acc);
       ^~
In file included from ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:23:
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.h:24:7: note: forward declaration of 'class QAction'
 class QAction;
       ^~~~~~~
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:203:7: error: invalid use of incomplete type 'class QAction'
    act->setProperty("jid", jid.toLower().split("/").at(0));
       ^~
In file included from ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:23:
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.h:24:7: note: forward declaration of 'class QAction'
 class QAction;
       ^~~~~~~
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:204:91: error: no matching function for call to 'JabberDiskPlugin::connect(QAction*&, const char [13], JabberDiskController*, const char [15])'
    connect(act, SIGNAL(triggered()), JabberDiskController::instance(), SLOT(initSession()));
                                                                                           ^
In file included from /usr/include/qt5/QtCore/qabstractanimation.h:43,
                 from /usr/include/qt5/QtCore/QtCore:5,
                 from ../src/plugins/generic/jabberdiskplugin/../../include/psiplugin.h:31,
                 from ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.h:27,
                 from ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:23:
/usr/include/qt5/QtCore/qobject.h:208:36: note: candidate: 'static QMetaObject::Connection QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)'
     static QMetaObject::Connection connect(const QObject *sender, const char *signal,
                                    ^~~~~~~
/usr/include/qt5/QtCore/qobject.h:208:36: note:   no known conversion for argument 1 from 'QAction*' to 'const QObject*'
/usr/include/qt5/QtCore/qobject.h:211:36: note: candidate: 'static QMetaObject::Connection QObject::connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)'
     static QMetaObject::Connection connect(const QObject *sender, const QMetaMethod &signal,
                                    ^~~~~~~
/usr/include/qt5/QtCore/qobject.h:211:36: note:   no known conversion for argument 1 from 'QAction*' to 'const QObject*'
/usr/include/qt5/QtCore/qobject.h:463:32: note: candidate: 'QMetaObject::Connection QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const'
 inline QMetaObject::Connection QObject::connect(const QObject *asender, const char *asignal,
                                ^~~~~~~
/usr/include/qt5/QtCore/qobject.h:463:32: note:   no known conversion for argument 1 from 'QAction*' to 'const QObject*'
/usr/include/qt5/QtCore/qobject.h:228:43: note: candidate: 'template<class Func1, class Func2> static QMetaObject::Connection QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const typename QtPrivate::FunctionPointer<Func2>::Object*, Func2, Qt::ConnectionType)'
     static inline QMetaObject::Connection connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal,
                                           ^~~~~~~
/usr/include/qt5/QtCore/qobject.h:228:43: note:   template argument deduction/substitution failed:
/usr/include/qt5/QtCore/qobject.h: In substitution of 'template<class Func1, class Func2> static QMetaObject::Connection QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const typename QtPrivate::FunctionPointer<Func2>::Object*, Func2, Qt::ConnectionType) [with Func1 = const char*; Func2 = const char*]':
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:204:91:   required from here
/usr/include/qt5/QtCore/qobject.h:228:43: error: no type named 'Object' in 'struct QtPrivate::FunctionPointer<const char*>'
/usr/include/qt5/QtCore/qobject.h:260:13: note: candidate: 'template<class Func1, class Func2> static typename std::enable_if<((int)(QtPrivate::FunctionPointer<Func2>::ArgumentCount) >= 0), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, Func2)'
             connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, Func2 slot)
             ^~~~~~~
/usr/include/qt5/QtCore/qobject.h:260:13: note:   template argument deduction/substitution failed:
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:204:91: note:   candidate expects 3 arguments, 4 provided
    connect(act, SIGNAL(triggered()), JabberDiskController::instance(), SLOT(initSession()));
                                                                                           ^
In file included from /usr/include/qt5/QtCore/qabstractanimation.h:43,
                 from /usr/include/qt5/QtCore/QtCore:5,
                 from ../src/plugins/generic/jabberdiskplugin/../../include/psiplugin.h:31,
                 from ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.h:27,
                 from ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:23:
/usr/include/qt5/QtCore/qobject.h:269:13: note: candidate: 'template<class Func1, class Func2> static typename std::enable_if<(((int)(QtPrivate::FunctionPointer<Func2>::ArgumentCount) >= 0) && (! QtPrivate::FunctionPointer<Func2>::IsPointerToMemberFunction)), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const QObject*, Func2, Qt::ConnectionType)'
             connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, const QObject *context, Func2 slot,
             ^~~~~~~
/usr/include/qt5/QtCore/qobject.h:269:13: note:   template argument deduction/substitution failed:
/usr/include/qt5/QtCore/qobject.h: In substitution of 'template<class Func1, class Func2> static typename std::enable_if<(((int)(QtPrivate::FunctionPointer<Func2>::ArgumentCount) >= 0) && (! QtPrivate::FunctionPointer<Func2>::IsPointerToMemberFunction)), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const QObject*, Func2, Qt::ConnectionType) [with Func1 = const char*; Func2 = const char*]':
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:204:91:   required from here
/usr/include/qt5/QtCore/qobject.h:269:13: error: no type named 'type' in 'struct std::enable_if<false, QMetaObject::Connection>'
/usr/include/qt5/QtCore/qobject.h:300:13: note: candidate: 'template<class Func1, class Func2> static typename std::enable_if<(QtPrivate::FunctionPointer<Func2>::ArgumentCount == -1), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, Func2)'
             connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, Func2 slot)
             ^~~~~~~
/usr/include/qt5/QtCore/qobject.h:300:13: note:   template argument deduction/substitution failed:
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:204:91: note:   candidate expects 3 arguments, 4 provided
    connect(act, SIGNAL(triggered()), JabberDiskController::instance(), SLOT(initSession()));
                                                                                           ^
In file included from /usr/include/qt5/QtCore/qabstractanimation.h:43,
                 from /usr/include/qt5/QtCore/QtCore:5,
                 from ../src/plugins/generic/jabberdiskplugin/../../include/psiplugin.h:31,
                 from ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.h:27,
                 from ../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:23:
/usr/include/qt5/QtCore/qobject.h:308:13: note: candidate: 'template<class Func1, class Func2> 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)'
             connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, const QObject *context, Func2 slot,
             ^~~~~~~
/usr/include/qt5/QtCore/qobject.h:308:13: note:   template argument deduction/substitution failed:
/usr/include/qt5/QtCore/qobject.h: In substitution of 'template<class Func1, class Func2> 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 = const char*; Func2 = const char*]':
../src/plugins/generic/jabberdiskplugin/jabberdiskplugin.cpp:204:91:   required from here
/usr/include/qt5/QtCore/qobject.h:308:13: error: no type named 'Object' in 'struct QtPrivate::FunctionPointer<const char*>'
rapgro commented 6 years ago

A similiar issue exists for legacy psi, too.

xvitaly commented 6 years ago

I will fix this and send pull request later today.