Bug 1290020
Summary: | qt-5.6.0-beta : moc ignoring some classes? kf5-frameworkintegration FTBFS | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Rex Dieter <rdieter> |
Component: | qt5-qtbase | Assignee: | Than Ngo <than> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | helio, jgrulich, jreznik, ltinkl, me, rdieter, rnovacek, than |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-12-17 04:20:46 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1291041 | ||
Bug Blocks: | 1291040 |
Description
Rex Dieter
2015-12-09 14:10:07 UTC
The full command executed to generate the moc file: /usr/lib64/qt5/bin/moc -I/usr/include/qt5/QtGui/5.6.0/QtGui -I/usr/include/qt5/QtCore/5.6.0 -I/usr/include/qt5/QtCore/5.6.0/QtCore -I/usr/include/qt5 -I/usr/include /qt5/QtDBus -I/usr/include/qt5/QtCore -I/usr/lib64/qt5/./mkspecs/linux-g++ -I/opt/kde-devel/include/KF5/KConfigWidgets -I/opt/kde-devel/include/KF5 -I/opt/kde-devel/in clude/KF5/KCodecs -I/opt/kde-devel/include/KF5/KWidgetsAddons -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/opt/kde-devel/include/KF5/KConfigGui -I/usr/incl ude/qt5/QtXml -I/opt/kde-devel/include/KF5/KConfigCore -I/opt/kde-devel/include/KF5/KAuth -I/opt/kde-devel/include/KF5/KCoreAddons -I/opt/kde-devel/include/KF5/KIconTh emes -I/opt/kde-devel/include/KF5/KIOFileWidgets -I/opt/kde-devel/include/KF5/KIOWidgets -I/opt/kde-devel/include/KF5/KIOCore -I/opt/kde-devel/include/KF5/KService -I/ opt/kde-devel/include/KF5/KJobWidgets -I/usr/include/qt5/QtNetwork -I/opt/kde-devel/include/KF5/KCompletion -I/opt/kde-devel/include/KF5/KBookmarks -I/opt/kde-devel/in clude/KF5/KItemViews -I/opt/kde-devel/include/KF5/KXmlGui -I/opt/kde-devel/include/KF5/Solid -I/opt/kde-devel/include/KF5/KI18n -I/opt/kde-devel/include/KF5/KNotificat ions -I/usr/include/qt5/QtX11Extras -I/usr/include -DKCOREADDONS_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST _TO_ASCII -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DQT_XML_ LIB -DTRANSLATION_DOMAIN="frameworkintegration5" -o /home/dvratil/devel/KDE/build/frameworks/frameworkintegration/src/platformtheme/moc_kdeplatformsystemtrayicon.cpp Minimal version that can reproduce: /usr/lib64/qt5/bin/moc -I/usr/include/qt5/QtGui/5.6.0/QtGui -I/usr/include/qt5 -o /home/dvratil/devel/KDE/build/frameworks/frameworkintegration/src/platformtheme/moc_kdeplatformsystemtrayicon.cpp /home/dvratil/devel/KDE/frameworks/frameworkintegration/src/platformtheme/kdeplatformsystemtrayicon.h This makes me believe that there is something suspicious going on in the includes that define the macro and the values.... Helio filed upstream, https://bugreports.qt.io/browse/QTBUG-49972 OK, after more irc discussion, we strongly suspected our qconfig.h hack where /usr/include/qt5/QtCore/qconfig.h contains: /* qconfig.h */ /* This file is here to prevent a file conflict on multiarch systems. A * conflict will occur because qconfig.h has arch-specific definitions. * * DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */ #ifndef QCONFIG_MULTILIB_H #define QCONFIG_MULTILIB_H #include <bits/wordsize.h> #if __WORDSIZE == 32 #include "QtCore/qconfig-32.h" #elif __WORDSIZE == 64 #include "QtCore/qconfig-64.h" #else #error "unexpected value for __WORDSIZE macro" #endif #endif Replacing this placeholder, with the real qconfig.h makes the moc problems go away in my own limited testing. Now, what to do about it? https://koji.fedoraproject.org/koji/buildinfo?buildID=705970 Looks like a combination of introducing __WORDSIZE macro into moc, more careful qconfig.h (__WORDSIZE guard before #include <bits/wordsize.h>), and upstream moc improvements, looks like we have a winner %changelog * Wed Dec 16 2015 Rex Dieter <rdieter> - 5.6.0-0.15 - pull in another upstream moc fix/improvement (#1290020,QTBUG-49972) - fix bootstrap/docs * Wed Dec 16 2015 Rex Dieter <rdieter> 5.6.0-0.13 - workaround moc/qconfig-multilib issues (#1290020,QTBUG-49972) |