Hints for Using ControlIt! on Ubuntu 12.04 / ROS Hydro

Introduction

The installation instructions are for Ubuntu 14.04 and ROS Indigo. This page contains hints on how to install ControlIt! on Ubuntu 12.04 and ROS Hydro. It is organized by notes and errors you may encounter trying to install on Ubuntu 12.04 and ROS Hydro. Note that ROS Hydro installation instructions are available here.

Error: indigo directory not found

Solution: Replace "indigo" with "hydro" in the installation instructions.

Note: YAML

The installation instructions contain commands to install YAML 0.3.0. This is not necessary in Ubuntu 12.04.

Error: Could not find module FindEigen3.cmake or a configuration file for package Eigen3.

Open /[workspace path]/controlit/controlit_cmake/cmake/controlitbuild.cmake. Replace:

# Find Eigen
find_package(Eigen3 REQUIRED)
message(STATUS "Found eigen3:")
message(STATUS "  include: ${EIGEN3_INCLUDE_DIR}")
message(STATUS "  definitions: ${EIGEN3_DEFINITIONS}")
include_directories(${EIGEN3_INCLUDE_DIR})
add_definitions(${EIGEN3_DEFINITIONS})

with:

# Find Eigen
find_package(Eigen REQUIRED)
message(STATUS "Found eigen3:")
message(STATUS "  include: ${EIGEN_INCLUDE_DIRS}")
message(STATUS "  definitions: ${EIGEN_DEFINITIONS}")
include_directories(${EIGEN_INCLUDE_DIRS})
add_definitions(${EIGEN_DEFINITIONS})

There should be two instances of the above.

Error: cc1plus: error: unrecognized command line option ‘-std=c++11’cc1plus:

Open /[workspace path]/controlit/controlit_cmake/cmake/controlitbuild.cmake. Replace:

    if(CMAKE_COMPILER_IS_GNUCXX)
        set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
    endif()

with:

    if(CMAKE_COMPILER_IS_GNUCXX)
        set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
    endif()

Error: Could NOT find MuParser (missing: MUPARSER_INCLUDE_DIR)

Open /[workspace path]/controlit/controlit_cmake/cmake/FindMuParser.cmake. Change:

find_path(MUPARSER_INCLUDE_DIR NAMES muParser.h

to be:

find_path(MUPARSER_INCLUDE_DIR NAMES muParser/muParser.h

Error: ResourceNotFound: cmake_modules

Execute:

$ sudo apt-get install ros-hydro-cmake-modules

Error: ParameterReflection.hpp:10:22: fatal error: muParser.h: No such file or directory

Open /[workspace path]/controlit/controlit_core/include/controlit/ParameterReflection.hpp. Change:

#include <muparser.h>

to be:

#include <muParser/muParser.h>

Error: [Err] [Plugin.hh:151] Failed to load plugin libgazebo_ros_api_plugin.so

Install:

$ sudo apt-get install ros-hydro-gazebo4-plugins

Error: Expression eval failed: Undefined token "&& JPosTask.quiescent " found at position 19.

Open the YAML file containing the demo's parameters. In the event specifications, change "&&" to be "and".