https://bugs.kde.org/show_bug.cgi?id=391504
Bug ID: 391504 Summary: spectacle git 3b69ac3a7 fails to build, deletes a needed #include <xcb/xcb.h> line from KSMainWindow.cpp Product: Spectacle Version: unspecified Platform: Other OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: General Assignee: m...@baloneygeek.com Reporter: 1i5t5.dun...@cox.net Target Milestone: --- spectacle git commit 3b69ac3a7 says: Test Plan: If it compiles, all is fine. Unfortunately, it doesn't, and all is /not/ fine. =:^( Long story short, the commit removes an #include <xcb/xcb.h> line from KSMainWindow.cpp and that breaks the build. With just that include line reinserted the build completes and spectacle appears to run just fine. The details... Running gentoo/~amd64 with most of my kde packages from live-git using the live ebuilds in the gentoo/kde overlay, I had /just/ updated the general system and then all my kde-live-git packages and spectacle built fine, then ran a redo to check in more detail a couple other packages that wouldn't build and happened to catch this commit within minutes of its merge... gcc-7.3.0, qt*-5.9.4, and interestingly based on the error below, the brand new and just updated xcb-proto-1.13 (as it happens I follow the xorg announce list and it was announced on Monday, March 5, 2018, so indeed brand new, the gentoo xorg folks are on the ball =:^). However, I tried downgrading to xcb-proto-1.12 (gentoo -r2 revision), the previously installed version, and the spectacle build still failed with the same error, so it does /not/ appear to be related to the new xcb-proto version after all. Here's the first set of errors and sure enough, KSMainWindow.cpp was touched by the above commit. Looking at the commit and the error, and testing, it's actually the removal of the #include <xcb/xcb.h> line. If I reinsert just that line, the build completes and spectacle runs just fine: [ 95%] Building CXX object src/CMakeFiles/spectacle.dir/spectacle_autogen/2Z24QZD4NU/qrc_QmlResources.cpp.o cd /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999_build/src && /usr/lib64/ccache/bin/x86_64-pc-linux-gnu-g++ -DKCOREADDONS_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_URL_CAST_FROM_STRING -DQT_PRINTSUPPORT_LIB -DQT_QML_LIB -DQT_QUICK_LIB -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DQT_XML_LIB -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999_build/src -I/tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src -I/tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999_build/src/spectacle_autogen/include -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5 -isystem /usr/include/KF5/KDBusAddons -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KNotifications -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWindowSystem -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KDeclarative -isystem /usr/include/KF5/KPackage -isystem /usr/include/KF5/KNewStuff3 -isystem /usr/include/KF5/KNewStuff3/KNS3 -isystem /usr/include/KF5/KNewStuff3/knscore -isystem /usr/include/KF5/KNewStuff3/kns3 -isystem /usr/include/KF5/KNewStuff3/KNSCore -isystem /usr/include/KF5/Attica -isystem /usr/include/qt5/QtX11Extras -DQT_NO_DEBUG -DNDEBUG -march=native -pipe -O2 -fmerge-all-constants -fgcse-sm -fgcse-las -fgcse-after-reload -ftree-vectorize -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/spectacle.dir/spectacle_autogen/2Z24QZD4NU/qrc_QmlResources.cpp.o -c /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999_build/src/spectacle_autogen/2Z24QZD4NU/qrc_QmlResources.cpp /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp: In constructor 'KSMainWindow::KSMainWindow(bool, QWidget*)': /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:91:9: error: 'xcb_intern_atom_cookie_t' was not declared in this scope xcb_intern_atom_cookie_t atomCookie = xcb_intern_atom_unchecked(xcbConn, false, effectName.length(), effectName.constData()); ^~~~~~~~~~~~~~~~~~~~~~~~ /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:92:24: error: 'xcb_intern_atom_reply_t' was not declared in this scope QScopedPointer<xcb_intern_atom_reply_t, QScopedPointerPodDeleter> atom(xcb_intern_atom_reply(xcbConn, atomCookie, nullptr)); ^~~~~~~~~~~~~~~~~~~~~~~ /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:92:73: error: template argument 1 is invalid QScopedPointer<xcb_intern_atom_reply_t, QScopedPointerPodDeleter> atom(xcb_intern_atom_reply(xcbConn, atomCookie, nullptr)); ^ /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:92:111: error: 'atomCookie' was not declared in this scope QScopedPointer<xcb_intern_atom_reply_t, QScopedPointerPodDeleter> atom(xcb_intern_atom_reply(xcbConn, atomCookie, nullptr)); ^~~~~~~~~~ /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:92:80: error: 'xcb_intern_atom_reply' was not declared in this scope QScopedPointer<xcb_intern_atom_reply_t, QScopedPointerPodDeleter> atom(xcb_intern_atom_reply(xcbConn, atomCookie, nullptr)); ^~~~~~~~~~~~~~~~~~~~~ /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:93:18: error: request for member 'isNull' in 'atom', which is of non-class type 'int' if (atom.isNull()) { ^~~~~~ /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:98:38: error: 'XCB_PROP_MODE_REPLACE' was not declared in this scope xcb_change_property(xcbConn, XCB_PROP_MODE_REPLACE, winId(), atom->atom, XCB_ATOM_CARDINAL, 32, 1, &value); ^~~~~~~~~~~~~~~~~~~~~ /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:98:38: note: suggested alternative: '_IOS_NOREPLACE' xcb_change_property(xcbConn, XCB_PROP_MODE_REPLACE, winId(), atom->atom, XCB_ATOM_CARDINAL, 32, 1, &value); ^~~~~~~~~~~~~~~~~~~~~ _IOS_NOREPLACE /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:98:74: error: base operand of '->' is not a pointer xcb_change_property(xcbConn, XCB_PROP_MODE_REPLACE, winId(), atom->atom, XCB_ATOM_CARDINAL, 32, 1, &value); ^~ /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:98:82: error: 'XCB_ATOM_CARDINAL' was not declared in this scope xcb_change_property(xcbConn, XCB_PROP_MODE_REPLACE, winId(), atom->atom, XCB_ATOM_CARDINAL, 32, 1, &value); ^~~~~~~~~~~~~~~~~ /tmp/portage/kde-apps/spectacle-9999/work/spectacle-9999/src/Gui/KSMainWindow.cpp:98:9: error: 'xcb_change_property' was not declared in this scope xcb_change_property(xcbConn, XCB_PROP_MODE_REPLACE, winId(), atom->atom, XCB_ATOM_CARDINAL, 32, 1, &value); ^~~~~~~~~~~~~~~~~~~ make[2]: *** [src/CMakeFiles/spectacle.dir/build.make:255: src/CMakeFiles/spectacle.dir/Gui/KSMainWindow.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... -- You are receiving this mail because: You are watching all bug changes.