As I understand it the proper use of catkin is to create a catkin workspace for all the standard ROS stuff, build and install it ( ./src/catkin/bin/catkin_make_isolated --install ) and then source the install setup.sh from that install ( source ~/ros_catkin_ws/install_isolated/setup.bash ) and then go on and create a new catkin workspace to actually do development in. Otherwise the build times will be ridiculous if catkin has to traverse 250 packages.

Gazebo

[ 99%] Building CXX object interfaces/player/CMakeFiles/gazebo_player.dir/GazeboDriver.cc.oIn file included from /home/lwalter/other/gazebo_source/gazebo/interfaces/player/GazeboInterface.hh:26:0, from /home/lwalter/other/gazebo_source/gazebo/interfaces/player/GazeboDriver.cc:25:/home/lwalter/other/gazebo_source/gazebo/interfaces/player/player.h:22:38: fatal error: libplayercore/playercore.h: No such file or directory #include <libplayercore/playercore.h>

So install libplayer-dev? No, that is a different player. I had libplayerc3.0-dev and libplayerc++3.0-dev installed already, and the file in question was located in /usr/include/player-3.0/libplayercore/playercore.h but gazebo wasn't seeing it.

I'm sure I could have done this cleaner, but I just hand-edited interfaces/player/CMakeLists.txt:

ROS

Something went wrong in the ros libstage package, it never generated a config.h from ros_catkin_ws/src/stage/config.h.in ( https://github.com/rtv/Stage/blob/master/config.h.in ) - possibly this was due to not having the environmental variables pointing at gazebo correctly.

That much worked, though those values may cause problems later if not correct.

Telling ROS about Gazebo

(I didn't discover the gazebo bashrc instructions were wrong until after going through these steps, they probably aren't necessary)

==> cmake /home/lwalter/other/ros_catkin_ws/src/gazebo_plugins -...CMake Error at CMakeLists.txt:40 (find_package): By not providing "Findgazebo.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "gazebo", but CMake did not find one. Could not find a package configuration file provided by "gazebo" with any of the following names: gazeboConfig.cmake gazebo-config.cmake Add the installation prefix of "gazebo" to CMAKE_PREFIX_PATH or set "gazebo_DIR" to a directory containing one of the above files. If "gazebo" provides a separate development package or SDK, be sure it has been installed.-- Configuring incomplete, errors occurred!<== Failed to process package 'gazebo_plugins':

Misc

Next try out building the catkin workspace with the projects I'm working on, the first thing missing appears to be the joy package, so clone it and rerun the catkin make install in the main ros catkin ws:

What I don't understand about re-running ./src/catkin/bin/catkin_make_isolated --install is how much stuff has to be re-done even when nothing or very little has changed. Object files are correctly recognized as already compiled, but something high level gets dirtied and many shared libraries and scripts have to be rerun to presumably generate the exact same output files that were already generated.