
I am attempting to build ros2 Foxy on Ubuntu (in a docker container).
Following https://docs.ros.org/en/foxy/Installation/Ubuntu-Development-Setup.html#
wget https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos
vcs import src < ros2.repos
I see this has quite a lot of repos https://github.com/ros2/ros2/blob/fc010c9a297eceaedb398213dea14d5ad5d67844/ros2.repos
My resulting docker image was over 2GB (starting from a base 500GB image.
Are there any collections of ros2.repos that just include the basics to run beginner tutorials?
I've seen the question Minimal ROS2 Installation but the answers aren't really clear on how this would be done in the build tutorial, what would be installed, or how to "use the tarballs option". The file generated by rosins tall_generator for ros_base is the same as https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos
The following is a segment of my Dockerfile:
RUN mkdir -p ${ROS_ROOT}/src
ARG ROS_PKG=ros_base
RUN cd ${ROS_ROOT} &&
rosinstall_generator --deps --rosdistro ${ROS_DISTRO} ${ROS_PKG}
> ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall &&
cat ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall &&
vcs import src < ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall
# install dependencies using rosdep
RUN apt-get update &&
cd ${ROS_ROOT} &&
rosdep init &&
rosdep update &&
rosdep install -y
--ignore-src
--from-paths src
--rosdistro ${ROS_DISTRO} &&
rm -rf /var/lib/apt/lists/* &&
apt-get clean
# build it!
RUN colcon build --merge-install &&
rm -rf ${ROS_ROOT}/src &&
rm -rf ${ROS_ROOT}/logs &&
rm -rf ${ROS_ROOT}/build &&
rm ${ROS_ROOT}/*.rosinstall
Originally posted by variable on ROS Answers with karma: 21 on 2022-01-06
Post score: 2
Original comments
Comment by gvdhoorn on 2022-01-07:
I would suggest to clarify why you are building ROS 2 from source on a Debian/Ubuntu based OS where there are binary packages available.
Comment by variable on 2022-01-07:
The main reason is that I am stuck on Ubuntu 18.04 because of driver issues (Nvidia jetson). I am at the beginning of a project and would prefer to not use Eloquent since it is already EOL. I also do not need other DDS frameworks for now - only Fast-RTPS. Is there binary package solution that would work for me?