esteve / ros2_raspbian_tools

Tools for crosscompiling ROS2 for the Raspberry Pi
Apache License 2.0
47 stars 15 forks source link

ament_tools is missing #8

Open azazdeaz opened 6 years ago

azazdeaz commented 6 years ago

The build_ros2.bash is using ament_tools which was removed from ros2.repos

I tried both adding ament_tools manually and migrating to colcon but i kept running into errors (i'm very new to these things :) ).

paoloach commented 6 years ago

Hi azazdeaz,

Do you managed to using colcon on rasberry ? I have your same problem.

Regards, Paolo

eeyang92 commented 5 years ago

I ran into the same issue, and I was able to get a little further by apply these fixes (at least until trying to compile fastrtps due to missing dependencies):

  1. Clone ament_tools into ~/ros2_rpi/ros2_ws/src/ament
  2. Edit Dockerfile.bootstrap by adding from Start to End below:
    .
    .
    .
    python3-pkg-resources \
    python3-setuptools \
    python3-pyparsing \
    qemu-user-static \
    software-properties-common
    # <-- Start
    RUN easy_install3 pip
    RUN python3 -m pip install catkin_pkg
    RUN python3 -m pip install rosdep rosinstall_generator wstool rosinstall six vctsools
    RUN rosdep init
    RUN rosdep update
    # --> End
    .
    .
    .

However, when building fastrtps I still get this error:

+++ Building 'fastrtps'
==> '. /ros2_ws/build/fastrtps/cmake__build.sh && /usr/bin/cmake -DBUILD_TESTING=0 -DCMAKE_INSTALL_PREFIX=/ros2_ws/install /ros2_ws/src/eProsima/Fast-RTPS' in '/ros2_ws/build/fastrtps'
-- Configuring Fast RTPS
-- Version: 1.7.0
-- To change de version modify the file configure.ac
-- fastcdr library found...
-- Could NOT find asio (missing:  ASIO_INCLUDE_DIR) 
-- Could NOT find tinyxml2 (missing:  TINYXML2_LIBRARY) 
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.

I was under the impression that rosdep should install all of the libraries required, but perhaps the path is missing in the bootstrap file? I don't really know enough about docker, rosdep or this tool to know where to look for the missing packages in the docker container.

avrabe commented 5 years ago

I've managed to build ROS2 after changing the build tool to colcon and also switched to ros2 version crystal. The changes currently reside in my own fork /avrabe/ros2_raspbian_tools.

With these changes I was able to build (not test yet) ROS2 without rviz, ros-visualization and the demos. For the details on how to build, the circleci config .circleci/config.yml is the most accurate description.