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.

Reply via email to