Description of problem: Build on current rawhide fails with: [ 57%] Generating moc_ApplyWrenchDialog.cxx cd /builddir/build/BUILD/gazebo-7.4.0/build/gazebo/gui && /usr/lib64/qt4/bin/moc-qt4 @/builddir/build/BUILD/gazebo-7.4.0/build/gazebo/gui/moc_ApplyWrenchDialog.cxx_parameters /usr/include/boost/predef/language/stdc.h:52: Parse error at "defined" make[2]: *** [gazebo/gui/CMakeFiles/gazebo_gui.dir/build.make:76: gazebo/gui/moc_ApplyWrenchDialog.cxx] Error 1 Version-Release number of selected component (if applicable): gazebo-7.4.0-2.fc26
Some possibilities: - Use qt5 with the qt5 branch of gazebo (haven't tried) - Wrap problematic boost includes like this: #ifndef Q_MOC_RUN #include <boost/python.hpp> #endif
Also does not appear to support ppc64le: -c /builddir/build/BUILD/gazebo-7.4.0/test/performance/RAMLibrary_TEST.cc [ 6%] Building CXX object deps/opende/OPCODE/CMakeFiles/gazebo_opcode.dir/OPC_OptimizedTree.cpp.o cd /builddir/build/BUILD/gazebo-7.4.0/build/deps/opende/OPCODE && /usr/bin/c++ -DHAVE_OPENGL -DLIBBULLET_VERSION=2.83 -DLIBBULLET_VERSION_GT_282 -Dgazebo_opcode_EXPORTS -I/builddir/build/BUILD/gazebo-7.4.0/test/gtest/include -I/builddir/build/BUILD/gazebo-7.4.0 -I/builddir/build/BUILD/gazebo-7.4.0/build -isystem /builddir/build/BUILD/gazebo-7.4.0/build/deps/opende -isystem /builddir/build/BUILD/gazebo-7.4.0/deps/opende/include -isystem /builddir/build/BUILD/gazebo-7.4.0/deps/opende/ou/include -isystem /builddir/build/BUILD/gazebo-7.4.0/deps/opende/OPCODE -isystem /builddir/build/BUILD/gazebo-7.4.0/deps/opende/GIMPACT/include -isystem /builddir/build/BUILD/gazebo-7.4.0/deps/threadpool -isystem /builddir/build/BUILD/gazebo-7.4.0/build/deps/opende/OPCODE -isystem /builddir/build/BUILD/gazebo-7.4.0/deps/opende/OPCODE/Ice -I/usr/include/libusb-1.0 -I/usr/include/ignition/transport1 -I/usr/include/uuid -isystem /usr/include/ignition/math2 -isystem /usr/include/ccd -I/usr/include/bullet -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mcpu=power8 -mtune=power8 -std=c++11 -Wall -Wextra -Wno-long-long -Wno-unused-value -Wno-unused-value -Wno-unused-value -Wno-unused-value -Wfloat-equal -Wshadow -Winit-self -Wswitch-default -Wmissing-include-dirs -pedantic -fvisibility=hidden -fvisibility-inlines-hidden -std=c++11 -DBUILDING_DLL_OPCODE -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mcpu=power8 -mtune=power8 -std=c++11 -fPIC -o CMakeFiles/gazebo_opcode.dir/OPC_OptimizedTree.cpp.o -c /builddir/build/BUILD/gazebo-7.4.0/deps/opende/OPCODE/OPC_OptimizedTree.cpp /builddir/build/BUILD/gazebo-7.4.0/test/performance/RAMLibrary_TEST.cc:22:17: error: 'gazebo' has not been declared using namespace gazebo::test::memory; ^~~~~~
I'm able to reproduce the boost error. The header moc is tripping over is way up the include chain, but I'll try to figure out where to block out the headers with Q_MOC_RUN.
*** This bug has been marked as a duplicate of bug 1396755 ***
re-opening to track gazebo-specific issues (and depend on bug #1396755)
Thanks Rex. I tracked down the build issue with ppc64le, and found the new headers that need to be guarded with Q_MOC_RUN. gazebo-7.4.0-4 built successfully in rawhide. http://koji.fedoraproject.org/koji/buildinfo?buildID=820072 Upstream is working on migrating to Qt5. According to their roadmap they are targeting Qt5 support in their next major version (8.0,) due to be released at the end of January.
The Q_MOC_RUN conditionals should not be necessary anymore, Rex pushed a new fix to Qt today that works around the issue directly in moc.
Using Q_MOC_RUN shouldn't hurt anything either, and could help possible future issues.