# kdesrc-build running: 'make' # from directory: /opt/kde/build/modemmanager-qt [ 0%] Automatic moc for target fakeModem [ 0%] Built target fakeModem_automoc [ 1%] Automatic moc for target KF5ModemManagerQt_static [ 1%] Built target KF5ModemManagerQt_static_automoc [ 2%] Building CXX object src/CMakeFiles/KF5ModemManagerQt_static.dir/modem.cpp.o /opt/kde/sources/modemmanager-qt/src/modem.cpp: In constructor ‘ModemManager::ModemPrivate::ModemPrivate(const QString&, ModemManager::Modem*)’: /opt/kde/sources/modemmanager-qt/src/modem.cpp:210:83: error: no matching function for call to ‘QTimer::singleShot(int, ModemManager::ModemPrivate*, void (ModemManager::ModemPrivate::*)())’ QTimer::singleShot(0, this, &ModemManager::ModemPrivate::initializeBearers); ^ /opt/kde/sources/modemmanager-qt/src/modem.cpp:210:83: note: candidates are: In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QtCore:77:0, from /usr/include/x86_64-linux-gnu/qt5/QtDBus/QtDBusDepends:2, from /usr/include/x86_64-linux-gnu/qt5/QtDBus/QtDBus:3, from /opt/kde/sources/modemmanager-qt/src/generictypes.h:30, from /opt/kde/sources/modemmanager-qt/src/bearer.h:30, from /opt/kde/sources/modemmanager-qt/src/modem.h:37, from /opt/kde/sources/modemmanager-qt/src/modem.cpp:25: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:81:17: note: static void QTimer::singleShot(int, const QObject*, const char*) static void singleShot(int msec, const QObject *receiver, const char *member); ^ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:81:17: note: no known conversion for argument 3 from ‘void (ModemManager::ModemPrivate::*)()’ to ‘const char*’ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:82:17: note: static void QTimer::singleShot(int, Qt::TimerType, const QObject*, const char*) static void singleShot(int msec, Qt::TimerType timerType, const QObject *receiver, const char *member); ^ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:82:17: note: candidate expects 4 arguments, 3 provided src/CMakeFiles/KF5ModemManagerQt_static.dir/build.make:146: recipe for target 'src/CMakeFiles/KF5ModemManagerQt_static.dir/modem.cpp.o' failed make[2]: *** [src/CMakeFiles/KF5ModemManagerQt_static.dir/modem.cpp.o] Error 1 CMakeFiles/Makefile2:982: recipe for target 'src/CMakeFiles/KF5ModemManagerQt_static.dir/all' failed make[1]: *** [src/CMakeFiles/KF5ModemManagerQt_static.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2 Reproducible: Always
According to http://doc.qt.io/qt-5/qtimer.html#singleShot-3 this singleShot() method was introduced in Qt 5.4. We can add a #ifdef to use it only with Qt >= 5.4 and fallback to old SLOT() macro when it is not available. This code is for Frameworks 5.10, Frameworks 5.9 requires Qt 5.2. If 5.10 keeps the Qt 5.2 requirement using #ifdef is the best solution.
Git commit 9e6e4d8672c45c3806a881950f600cd973f58349 by Lamarque V. Souza. Committed on 02/05/2015 at 12:40. Pushed by lvsouza into branch 'master'. Bump Qt required version to 5.4 due to changes in 7ab9feb2c1a7f6989bfe99e53b42f6a0b597e0ff M +1 -1 CMakeLists.txt http://commits.kde.org/libmm-qt/9e6e4d8672c45c3806a881950f600cd973f58349
modemmanager-qt-5.3.0 has never been released, but I guess 5.9.0 was meant here because Plasma-5.3.0 depends on modemmanager-qt-5.9.0.