Ask Your Question
0

Fedora 16 / Electric / Gazebo / Build Issues

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

ICodeRaven gravatar image

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

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 -0500 )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 -0500 )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 -0500 )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 -0500 )edit

1 Answer

Sort by » oldest newest most voted
0

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

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

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

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

Seen: 584 times

Last updated: Mar 14 '12