Bug 1396676 - gazebo fails to build on rawhide
Summary: gazebo fails to build on rawhide
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gazebo
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rich Mattes
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1396755
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-18 23:20 UTC by Orion Poplawski
Modified: 2016-12-09 13:29 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-12-09 13:19:06 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Orion Poplawski 2016-11-18 23:20:32 UTC
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

Comment 1 Orion Poplawski 2016-11-18 23:29:28 UTC
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

Comment 2 Orion Poplawski 2016-11-19 18:44:21 UTC
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;
                 ^~~~~~

Comment 3 Rich Mattes 2016-11-23 16:12:13 UTC
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.

Comment 4 Kevin Kofler 2016-11-23 18:17:28 UTC

*** This bug has been marked as a duplicate of bug 1396755 ***

Comment 5 Rex Dieter 2016-12-05 15:33:09 UTC
re-opening to track gazebo-specific issues (and depend on bug #1396755)

Comment 6 Rich Mattes 2016-12-09 13:19:06 UTC
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.

Comment 7 Kevin Kofler 2016-12-09 13:28:30 UTC
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.

Comment 8 Rex Dieter 2016-12-09 13:29:41 UTC
Using Q_MOC_RUN shouldn't hurt anything either, and could help possible future issues.


Note You need to log in before you can comment on or make changes to this bug.