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

Revision history [back]

click to hide/show revision 1
initial version

For some time now, the "base" ROS Docker images have not shipped with any build-related packages.

This is on purpose, as it significantly reduces the size of the images, and those build dependencies are not used when you "just want to run ROS".

I'll try to find the announcement and link it here, but I thought I'd first post the answer.

For some time now, the "base" ROS Docker images have not shipped with any build-related packages.

This is on purpose, as it significantly reduces the size of the images, and those build dependencies are not used when you "just want to run ROS".

I'll try to find the announcement and link it here, but I thought I'd first post the answer.


Edit: from Announcement: trimmed ROS/Gazebo docker images released:

  • The ros-core images do not include the ROS bootstrapping / building tools anymore (removal of rosdep , rosinstall , colcon packages for ROS 2) these packages will now be part of the generic base image, aka ros:<ROS_DISTRO> or ros:<ROS_DISTRO>-ros-base
  • this means that images based on ros:<ROS_DISTRO>-ros-core images do not have compilers installed by default anymore. If you use those in CI you’ll need to make sure to install the building tools you need or use the ros-base (aka default) image. You can see the diff on the ros_core images here
  • the osrf/ros2:devel image including all the building and testing tools for ROS 2 can/should be used as a base for ROS 2 CI
  • there is currently no ROS 1 equivalent to the osrf/ros2:devel image. But we're happy to explore how to make this available if there is interest

The last bullet seems to apply to your situation.

Note btw:

catkin fails with "No CMAKE_CXX_COMPILER could be found."

CMake fails. Not Catkin.

For some time now, the "base" ROS Docker images have not shipped with any build-related packages.

This is on purpose, as it significantly reduces the size of the images, and those build dependencies are not used when you "just want to run ROS".

I'll try to find the announcement and link it here, but I thought I'd first post the answer.


Edit: from Announcement: trimmed ROS/Gazebo docker images released:

  • The ros-core images do not include the ROS bootstrapping / building tools anymore (removal of rosdep , rosinstall , colcon packages for ROS 2) these packages will now be part of the generic base image, aka ros:<ROS_DISTRO> or ros:<ROS_DISTRO>-ros-base
  • this means that images based on ros:<ROS_DISTRO>-ros-core images do not have compilers installed by default anymore. If you use those in CI you’ll need to make sure to install the building tools you need or use the ros-base (aka default) image. You can see the diff on the ros_core images here
  • the osrf/ros2:devel image including all the building and testing tools for ROS 2 can/should be used as a base for ROS 2 CI
  • there is currently no ROS 1 equivalent to the osrf/ros2:devel image. But we're happy to explore how to make this available if there is interest

The last bullet seems to apply to your situation.You seem to use the ros:<ROS_DISTRO>-ros-core image, which is why CMake can't find the compiler.

Note btw:

catkin fails with "No CMAKE_CXX_COMPILER could be found."

CMake fails. Not Catkin.