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

William Bulle's profile - activity

2022-10-12 04:37:05 -0500 marked best answer 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 ...
(more)
2022-09-12 04:09:23 -0500 received badge  Nice Question (source)
2021-05-06 19:41:43 -0500 marked best answer [ROS2 Crystal] Minimalistic built from sources

OS: Ubtuntu 16.04

Target: Ubuntu armhf 18.04

ROS-DISTRIB = ROS2 Crystal


I am looking to cross-compile a minimalistic ros2 built intended for embedded, but the current cross-compilation tutorial imports and builds the whole ros2 source repository.

Some visualization packages are already disabled.

touch \
    ros2_ws/src/ros2/rviz/COLCON_IGNORE \
    ros2_ws/src/ros-visualization/COLCON_IGNORE
  • Where can I find the different packages used for ros-base (barebone) ? Including self-contained libraries as I'm building from source with the option -DFORCE_BUILD_VENDOR_PKG=ON

  • And how bare-bone can I get while keeping the main functionalities of ROS2 ? Regarding this question, this answer was given some time ago but when doing so, I encountered a ERROR 404:

 urllib.error.HTTPError: HTTP Error 404: Not Found (https://raw.githubusercontent.com/ros2/rosdistro/ros2/index.yaml)

EDIT

  • Second point resolved (see comment below)

  • I tried to list the sources needed for a lightweight ROS. It might be missing some important dependency:

https://pastebin.com/jnWRNzNx


[EDIT 2]

from @gvdhoorn comment:

REP 2001: ROS Bouncy and Newer Variants gives the different dependencies for ros2.

Then create the ros2_core.repos with

rosinstall_generator ros_core --rosdistro crystal --deps > ros_core.repos

Use vsc for importing the source:

vcs-import src < ros2.repos
2019-08-21 02:34:49 -0500 received badge  Student (source)
2019-04-30 11:26:51 -0500 received badge  Famous Question (source)
2019-04-09 03:03:26 -0500 received badge  Famous Question (source)
2019-04-02 12:15:56 -0500 commented answer Automated cross-compilation failing at rosdep install step

I specified --upstream-development as I wanted to have some upstream package in order to use the -DFORCE_BUILD_VENDOR_PK

2019-04-02 12:14:02 -0500 commented answer Automated cross-compilation failing at rosdep install step

I specified --upstream-development as I wanted to have some upstream package in order to use the -DFORCE_BUILD_VENDOR_PK

2019-04-02 12:12:48 -0500 commented answer Automated cross-compilation failing at rosdep install step

I specified --upstream-development as I wanted to have some upstream package in order to use the -DFORCE_BUILD_VENDOR_PK

2019-04-02 11:35:03 -0500 received badge  Notable Question (source)
2019-04-02 11:13:36 -0500 commented answer Automated cross-compilation failing at rosdep install step

Oh it makes sense that rosdep tries to download the dependencies for ros_base and desktop. But ultimately it failed to a

2019-04-02 11:09:09 -0500 commented answer Automated cross-compilation failing at rosdep install step

I generated my .install with rosinstall_generator ros_core --rosdistro crystal --upstream-development --deps > ros2_

2019-04-02 11:04:35 -0500 received badge  Popular Question (source)
2019-04-02 10:01:50 -0500 edited question Automated cross-compilation failing at rosdep install step

Automated crosscompilation failing at rosdep install step I am trying to cross-compile ros2 crystal core for Ubuntu 18.0

2019-04-02 08:47:27 -0500 edited question Automated cross-compilation failing at rosdep install step

Automated crosscompilation failing at rosdep install step I am trying to cross-compile ros2 crystal core for Ubuntu 18.0

2019-04-02 07:57:46 -0500 asked a question Automated cross-compilation failing at rosdep install step

Automated crosscompilation failing at rosdep install step I am trying to cross-compile ros2 crystal core for Ubuntu 18.0

2019-03-29 07:04:18 -0500 commented question Error during ROS2 install on raspberry pi 3 - Ubuntu server

Did you install the apt sources as specified in the tuto ? The debian packages only exist for arm64. If your Pi has its

2019-03-29 06:56:33 -0500 edited answer [ROS2 Crystal] Minimalistic built from sources

From the comments of @gvdhoorn and @marguedas : Using ROS REP 2001 and python3-rosinstall_generator, we can generate ou

2019-03-29 06:56:00 -0500 edited answer [ROS2 Crystal] Minimalistic built from sources

From the comments of @gvdhoorn and @marguedas : Using ROS REP 2001 and python3-rosinstall_generator, we can generate ou

2019-03-29 06:55:37 -0500 edited answer [ROS2 Crystal] Minimalistic built from sources

From the comments of @gvdhoorn and @marguedas : Using ROS REP 2001 and python3-rosinstall_generator, we can generate ou

2019-03-29 06:51:12 -0500 commented question [ROS2 Crystal] Minimalistic built from sources

@marguedas : I encountered some build issues that might come from the discrepancy of the source as ros2.depos are set t

2019-03-29 06:47:43 -0500 commented question [ROS2 Crystal] Minimalistic built from sources

@marguedas : I encountered some build issues that might come from the discrepancy of the source as ros2.depos are set t

2019-03-29 06:40:34 -0500 commented question [ROS2 Crystal] Minimalistic built from sources

@marguedas I encountered some build issues as ros2.depos are set to ros2 or foreign repos eg: ros2.depos eProsima/

2019-03-29 06:40:17 -0500 commented question [ROS2 Crystal] Minimalistic built from sources

@marguedas I encountered some build issues as ros2.depos are set to ros2 or foreign repos eg: ros2.depos eProsima/Fa

2019-03-29 06:39:57 -0500 commented question [ROS2 Crystal] Minimalistic built from sources

@marguedas I encountered some build issues as ros2.depos are set to ros2 or foreign repos eg: ros2.depos eProsi

2019-03-28 04:58:03 -0500 received badge  Famous Question (source)
2019-03-28 03:42:25 -0500 received badge  Enthusiast
2019-03-27 12:13:06 -0500 commented question [ROS2 Crystal] Minimalistic built from sources

@marguedas: to use the -DFORCE_BUILD_VENDOR_PKG=ON I git update the vendors' repos to the master branch. I came to the s

2019-03-27 12:07:47 -0500 answered a question [ROS2 Crystal] Minimalistic built from sources

From the comments of @gvdhoorn and @marguedas : Using ROS REP 2001 and python3-rosinstall_generator, we can generate ou

2019-03-27 11:20:30 -0500 edited question [ROS2 Crystal] Minimalistic built from sources

[ROS2 Crystal] Minimalistic built from sources OS: Ubtuntu 16.04 Target: Ubuntu armhf 18.04 ROS-DISTRIB = ROS2 Crystal

2019-03-27 10:57:13 -0500 commented question [ROS2 Crystal] Minimalistic built from sources

@gvdhoorn Thank you for the link. That's what I looking for. I just used rosinstall_generator for print out the depend

2019-03-27 10:56:20 -0500 commented question [ROS2 Crystal] Minimalistic built from sources

Thank you for the link. That's what I looking for. I just used rosinstall_generator for print out the dependencies of t

2019-03-27 07:27:16 -0500 received badge  Notable Question (source)
2019-03-27 06:32:38 -0500 edited question [ROS2 Crystal] Minimalistic built from sources

[ROS2 Crystal] Minimalistic built from sources OS: Ubtuntu 16.04 Target: Ubuntu armhf 18.04 ROS-DISTRIB = ROS2 Crystal

2019-03-27 06:03:15 -0500 edited question [ROS2 Crystal] Minimalistic built from sources

[ROS2 Crystal] Minimalistic built from sources OS: Ubtuntu 16.04 Target: Ubuntu armhf 18.04 ROS-DISTRIB = ROS2 Crystal

2019-03-26 13:53:58 -0500 received badge  Popular Question (source)
2019-03-26 11:44:39 -0500 asked a question [ROS2 Crystal] Minimalistic built from sources

[ROS2 Crystal] Minimalistic built from sources OS: Ubtuntu 16.04 Target: Ubuntu armhf 18.04 ROS-DISTRIB = ROS2 Crystal

2019-03-26 06:10:05 -0500 commented answer libPocoFoundation.so present but can't be found on Linux arm

Where should I add this flag ? I tried to add it to generic_linux.cmake with set(FORCE_BUILD_VENDOR_PKG ON) but the libr

2019-03-26 05:48:45 -0500 received badge  Famous Question (source)
2019-03-26 05:19:34 -0500 commented answer libPocoFoundation.so present but can't be found on Linux arm

Where should I added this flag ? I tried to add it to generic_linux.cmake with set(FORCE_BUILD_VENDOR_PKG ON) but the li

2019-03-26 05:19:20 -0500 commented answer libPocoFoundation.so present but can't be found on Linux arm

Where should I added this flag ? I tried to add it to generic_linux.cmake with set(FORCE_BUILD_VENDOR_PKG ON) but the li

2019-03-26 05:19:13 -0500 commented answer libPocoFoundation.so present but can't be found on Linux arm

Where should I added this flag ? I tried to add it to generic_linux.cmake with set(FORCE_BUILD_VENDOR_PKG ON) but the li

2019-03-26 05:08:35 -0500 edited question libPocoFoundation.so present but can't be found on Linux arm

libPocoFoundation.so present but can't be found on Linux arm Target OS: Ubuntu 18.04.2 LTS Target System: Lin

2019-03-25 11:16:08 -0500 received badge  Notable Question (source)
2019-03-25 10:11:14 -0500 marked best answer libPocoFoundation.so present but can't be found on Linux arm

Target OS:

Ubuntu 18.04.2 LTS

Target System:

Linux arm 4.14.79-ti-r84 #1 SMP PREEMPT armv7l armv7l armv7l GNU/Linux

I cross-compiled the source for ROS 2 using the following tutorial (on a Ubuntu 16.04 x86_64)

As I am building for a beagle-board (bbb), the examples are only for arm64 so i made these following changes in the cross_compile repository:

in Dockerfile_ubuntu_arm:

4 ARG ARM_ARCH=arm32v7
...
37 RUN sh -c 'echo "deb [arch=amd64,armhf] http://repo.ros2.org/ubuntu/main \
`lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

and in entry_point.sh:

$ export TARGET_ARCH=arm
$ export TARGET_TRIPLE=arm-linux-gnueabihf

But after the built, I exported the ros build with:

docker cp ros2_cc:/root/cc_ws/ros2_ws .

and send it in the home directory of my board.

Then I tried to test the talker/listener examples:

$ ros2 run demo_nodes_cpp talker

and I received this error:

Failed to load entry point 'launch': libPocoFoundation.so.50: cannot open shared object file: No such file or directory The C extension '/home/ubuntu/ros2_ws/install/lib/python3.6/site-packages/rclpy/_rclpy.cpython-36m-arm-linux-gnueabihf.so' failed to be imported while being present on the system. Please refer to 'https://githu b.com/ros2/ros2/wiki/Rclpy-Import-error-hint' for possible solutions 
[...] 
/home/ubuntu/ros2_ws/install/lib/demo_nodes_cpp/talker: error while loading shared libraries: libPocoFoundation.so.50: cannot open shared object file: No such file or directory

same for the others entry points (start,status,list,get...).

From the tutorial, there is a known issue with the the Poco pre-built. But these steps are included in the entry_point. Also the provided link didn't help much.

Thank for your help.

[EDIT] Downloading the missing libraries seems to fix the issue as suggested in the comments.

For a long term-fix: Trying to get the fix submitted by alsora:

It returns me:

CMake Error: The source directory "/root/cc_ws/ros2_ws/build/fastcdr/-FORCE_BUILD_VENDOR_PKG=ON" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
---
Failed   <<< fastcdr    [ Exited with code 1 ]
--- stderr: poco_vendor
CMake Error: The source directory "/root/cc_ws/ros2_ws/build/poco_vendor/-FORCE_BUILD_VENDOR_PKG=ON" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
---
Failed   <<< poco_vendor        [ Exited with code 1 ]
Aborted  <<< ament_cmake_core
Aborted  <<< ament_flake8                               

Summary: 1 package finished [4.06s]
  2 packages failed: fastcdr poco_vendor
  2 packages aborted: ament_cmake_core ament_flake8
  2 packages had stderr output: fastcdr poco_vendor
  188 packages not processed
2019-03-25 07:13:59 -0500 received badge  Popular Question (source)
2019-03-25 06:07:53 -0500 edited question libPocoFoundation.so present but can't be found on Linux arm

libPocoFoundation.so present but can't be found on Linux arm Target OS: Ubuntu 18.04.2 LTS Target System: Lin