ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Fedora 16 / Electric / Gazebo / Build Issues

asked 2012-01-14 02:24:10 -0600

ICodeRaven gravatar image

updated 2012-01-17 01:35:00 -0600

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 ...
(more)
edit retag flag offensive close merge delete

Comments

Will sym-linking the required files to the new versions be a good thing to do? I'm trying to avoid that here.
ICodeRaven gravatar image ICodeRaven  ( 2012-01-16 15:02:31 -0600 )edit
If your install is correctly identifying `fedora`, then it should resolve to `boost-devel` (see `ros/rosdep.yaml`). Boost 1.46 is the Ubuntu Oneiric version, so maybe the OS identification has gone wrong somehow.
joq gravatar image joq  ( 2012-01-16 22:43:01 -0600 )edit
My install does definitely identify as 'fedora'. Could the fact that I have preupgraded be an issue? I don't remember what version of Boost I had on 15, but it could very well be 1.46 :S
ICodeRaven gravatar image ICodeRaven  ( 2012-01-17 00:57:36 -0600 )edit
I don't know enough rosdep internals to answer that. Probably, this is a bug and you should open a ticket to get it fixed: https://code.ros.org/trac/ros/newticket
joq gravatar image joq  ( 2012-01-17 01:07:54 -0600 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2012-03-14 05:41:24 -0600

I have gazebo running happily on my Fedora 16 system. Check here for SVN version information:

http://answers.ros.org/question/12981/pcl-failing-compilation-fedora-16-segmentation

Also, I'm using boost-1.47 - so make sure you do a make clean when building gazeob, as the linking might still refer to boost libraries of your previous Fedora installation.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2012-01-14 02:24:10 -0600

Seen: 660 times

Last updated: Mar 14 '12