Automated cross-compilation failing at rosdep install step
I am trying to cross-compile ros2 crystal core for Ubuntu 18.04 armv7, building on Ubuntu 16.04 x86_64:
See the end of my question for my custom files.
During the build of the contained docker, I have this failure while trying to do:
RUN rosdep init
RUN rosdep update
RUN rosdep install --from-paths src
--ignore-src \
--rosdistro crystal -y \
--skip-keys "console_bridge \
fastcdr \
fastrtps \
libopensplice67 \
libopensplice69 \
rti-connext-dds-5.3.1 \
urdfdom_headers"
as rosdep trying to download these (unwanted) dependencies:
apt: command [apt-get install -y ros-crystal-tf2] failed
apt: command [apt-get install -y ros-crystal-tf2-eigen] failed
apt: command [apt-get install -y ros-crystal-tf2-geometry-msgs] failed
apt: command [apt-get install -y ros-crystal-tf2-ros] failed
apt: command [apt-get install -y ros-crystal-kdl-parser] failed
apt: command [apt-get install -y ros-crystal-urdf] failed
apt: command [apt-get install -y ros-crystal-robot-state-publisher] failed
apt: command [apt-get install -y ros-crystal-demo-nodes-py] failed
apt: command [apt-get install -y ros-crystal-angles] failed
apt: command [apt-get install -y ros-crystal-depthimage-to-laserscan] failed
apt: command [apt-get install -y ros-crystal-joy] failed
apt: command [apt-get install -y ros-crystal-pcl-conversions] failed
apt: command [apt-get install -y ros-crystal-rviz2] failed
apt: command [apt-get install -y ros-crystal-rviz-default-plugins] failed
apt: command [apt-get install -y ros-crystal-teleop-twist-joy] failed
apt: command [apt-get install -y ros-crystal-teleop-twist-keyboard] failed
apt: command [apt-get install -y ros-crystal-composition] failed
apt: command [apt-get install -y ros-crystal-demo-nodes-cpp] failed
apt: command [apt-get install -y ros-crystal-demo-nodes-cpp-native] failed
apt: command [apt-get install -y ros-crystal-dummy-map-server] failed
apt: command [apt-get install -y ros-crystal-dummy-robot-bringup] failed
apt: command [apt-get install -y ros-crystal-dummy-sensors] failed
apt: command [apt-get install -y ros-crystal-image-tools] failed
apt: command [apt-get install -y ros-crystal-intra-process-demo] failed
apt: command [apt-get install -y ros-crystal-lifecycle] failed
apt: command [apt-get install -y ros-crystal-logging-demo] failed
apt: command [apt-get install -y ros-crystal-pendulum-control] failed
apt: command [apt-get install -y ros-crystal-topic-monitor] failed
apt: command [apt-get install -y ros-crystal-tlsf] failed
apt: command [apt-get install -y ros-crystal-tlsf-cpp] failed
apt: command [apt-get install -y ros-crystal-examples-rclcpp-minimal-action-client] failed
apt: command [apt-get install -y ros-crystal-examples-rclcpp-minimal-action-server] failed
apt: command [apt-get install -y ros-crystal-examples-rclcpp-minimal-client] failed
apt: command [apt-get install -y ros-crystal-examples-rclcpp-minimal-composition] failed
apt: command [apt-get install -y ros-crystal-examples-rclcpp-minimal-publisher] failed
apt: command [apt-get install -y ros-crystal-examples-rclcpp-minimal-service] failed
apt: command [apt-get install -y ros-crystal-examples-rclcpp-minimal-subscriber] failed
apt: command [apt-get install -y ros-crystal-examples-rclcpp-minimal-timer] failed
apt: command [apt-get install -y ros-crystal-examples-rclpy-executors] failed
apt: command [apt-get install -y ros-crystal-examples-rclpy-minimal-client] failed
apt: command [apt-get install -y ros-crystal-examples-rclpy-minimal-publisher] failed
apt: command [apt-get install -y ros-crystal-examples-rclpy-minimal-service] failed
apt: command [apt-get install -y ros-crystal-examples-rclpy-minimal-subscriber] failed
Using the -r option seems to be a workaround but i would like to understand why rosdep is trying to find and install these dependencies, not necessary according to ROS REP 2001 ?
Contents of files:
ros2_core.install
:
- git:
local-name: ament/ament_cmake
uri: https://github.com/ament/ament_cmake.git
version: crystal
- git:
local-name: ros2/ament_cmake_ros
uri: https://github.com/ros2/ament_cmake_ros.git
version: crystal
- git:
local-name: ament/ament_index
uri: https://github.com/ament/ament_index.git
version: crystal
- git:
local-name: ament/ament_lint
uri: https://github.com/ament/ament_lint.git
version: crystal
- git:
local-name: ament/ament_package
uri: https://github.com/ament/ament_package.git
version: crystal
- git:
local-name: ros/class_loader
uri: https://github.com/ros/class_loader.git
version: crystal
- git:
local-name: ros2/common_interfaces
uri: https://github ...
Can you clarify whether you've seen ros2/cross_compile?
Edit: ah, I guess you did. Would appear the Dockerfiles are from there.