| Summary: | building modemmanager-qt while building KDE 5.3 fails | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-modemmanager-qt | Reporter: | Mario <spam> |
| Component: | general | Assignee: | Jan Grulich <jgrulich> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | aspotashev, lamarque, lukas.tinkl |
| Priority: | NOR | ||
| Version First Reported In: | 5.9.0 | ||
| Target Milestone: | --- | ||
| Platform: | Debian testing | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
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. |
# 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