Fedora 16 / Electric / Gazebo / Build Issues
Having just preupgraded from Fedora 15, I set about installing ROS all over again. Fortunately, unlike the previous time, I had much fewer issues getting to the point of building gazebo. I had to build assimp, and that was it.
Build first failed due to fltk issues
[ 15%] Building CXX object server/physics/ode/CMakeFiles/gazebo_physics_ode.dir/ODEHeightmapShape.o
Linking CXX shared library libgazebo_physics_ode.so
make[4]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
[ 15%] Built target gazebo_physics_ode
make[4]: Entering directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
make[4]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
make[4]: Entering directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
[ 16%] Building CXX object server/rendering/CMakeFiles/gazebo_rendering.dir/OgreCreator.o
/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/server/rendering/OgreCreator.cc: In member function ‘Ogre::RenderWindow* gazebo::OgreCreator::CreateWindow(Fl_Window*, unsigned int, unsigned int)’:
/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/server/rendering/OgreCreator.cc:380:19: error: incomplete type ‘Fl_X’ used in nested name specifier
make[4]: *** [server/rendering/CMakeFiles/gazebo_rendering.dir/OgreCreator.o] Error 1
make[4]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
make[3]: *** [server/rendering/CMakeFiles/gazebo_rendering.dir/all] Error 2
make[3]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
make[1]: *** [installed] Error 2
make[1]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo'
CMake Error at CMakeLists.txt:32 (message):
Build of Gazebo failed
UPDATE 1 : This seems to be some issue with the updating of fltk as per https://bugs.gentoo.org/show_bug.cgi?id=368607">this. However, looking at the x.h header from the Fl include directory, and comparing, I tried this (Sensible) patch. In ros/simulator_gazebo/gazebo/build/gazebo/server/rendering/OgreCreator.cc
-- win = OgreCreator::CreateWindow( fl_display, fl_visual->screen,
(int32_t)(Fl_X::i(flWindow)->xid), width, height);
++ win = OgreCreator::CreateWindow( fl_display, fl_visual->screen,
(int32_t)(fl_xid(flWindow)), width, height);
This resulted in the build process continuing further, with the following error
[ 46%] Building CXX object server/gui/CMakeFiles/gazebo_gui.dir/GLWindow.o
In file included from /usr/include/FL/fl_utf8.h:73:0,
from /usr/include/FL/Fl.H:39,
from /home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/server/gui/Gui.hh:33,
from /home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/server/gui/GLWindow.cc:51:
/usr/include/FL/Xutf8.h:161:5: error: ‘Status’ has not been declared
make[4]: *** [server/gui/CMakeFiles/gazebo_gui.dir/GLWindow.o] Error 1
make[4]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
make[3]: *** [server/gui/CMakeFiles/gazebo_gui.dir/all] Error 2
make[3]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo/build/gazebo/build'
make[1]: *** [installed] Error 2
make[1]: Leaving directory `/home/kshaurya/ros/simulator_gazebo/gazebo'
CMake Error at CMakeLists.txt:32 ...