MicroROS fails to build on Jetson Nano

Ouverte
#602 7 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
28/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
cmake, docker, shell

Piste de recherche

Reproduisez l'échec avec les commandes create_agent_ws.sh et build_agent.sh de micro_ros_setup dans l'environnement Docker et ROS Foxy indiqué. Commencez par micro_ros_agent/CMakeLists.txt et l'erreur générée dans micro_ros_msgs__rosidl_generator_cExport.cmake ; c'est terminé lorsque build_agent.sh s'achève sans l'erreur CMake indiquée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Issue template

  • Hardware description: Jetson Nnao 4GB (B01) run in docker from
  • RTOS: Target device Teensy 4.1
  • Installation type:
  • Version or commit hash:
Steps to reproduce the issue
Expected behavior

Finish compiling

Actual behavior

Fails compiling

Additional information

Inside docker container (dustynv/ros:foxy-pytorch-l4t-r32.7.1)

Followed tutorial below. Have done this multiple times on another PC, no issues and also without problems on this same Jetson inside a docker. Not sure if the problem come from changes in the git repo cloned following the process.
Please let me know if there is any more information I can provide to get this solved.
Thank you!

https://micro.ros.org/docs/tutorials/core/teensy_with_arduino/

root@ros2dev:~# source /opt/ros/foxy/install/setup.bash
root@ros2dev:~# mkdir microros_ws
root@ros2dev:~# cd microros_ws
root@ros2dev:~/microros_ws# git clone -b $ROS_DISTRO https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup
Cloning into 'src/micro_ros_setup'...
remote: Enumerating objects: 3385, done.
remote: Counting objects: 100% (1180/1180), done.
remote: Compressing objects: 100% (507/507), done.
remote: Total 3385 (delta 843), reused 957 (delta 666), pack-reused 2205
Receiving objects: 100% (3385/3385), 794.48 KiB | 2.43 MiB/s, done.
Resolving deltas: 100% (2341/2341), done.
root@ros2dev:~/microros_ws# sudo apt update && rosdep update
Hit:1 http://packages.ros.org/ros2/ubuntu bionic InRelease
Hit:2 http://ports.ubuntu.com/ubuntu-ports bionic InRelease                                       
Hit:3 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease                               
Hit:4 https://apt.kitware.com/ubuntu bionic InRelease                                            
Hit:5 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease    
Hit:6 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease
Reading package lists... Done                      
Building dependency tree       
Reading state information... Done
All packages are up to date.
reading in sources list data from /etc/ros/rosdep/sources.list.d
Warning: running 'rosdep update' as root is not recommended.
  You should run 'sudo rosdep fix-permissions' and invoke 'rosdep update' again without sudo.
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Add distro "foxy"
Skip end-of-life distro "galactic"
Skip end-of-life distro "groovy"
Add distro "humble"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /root/.ros/rosdep/sources.cache
root@ros2dev:~/microros_ws# sudo rosdep fix-permissions
Recursively changing ownership of ros home directory '/root/.ros' to 'root:root' (current user)...
Done.
root@ros2dev:~/microros_ws# rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Warning: running 'rosdep update' as root is not recommended.
  You should run 'sudo rosdep fix-permissions' and invoke 'rosdep update' again without sudo.
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Add distro "foxy"
Skip end-of-life distro "galactic"
Skip end-of-life distro "groovy"
Add distro "humble"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /root/.ros/rosdep/sources.cache
root@ros2dev:~/microros_ws# sudo apt-get install python3-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-pip is already the newest version (9.0.1-2.3~ubuntu1.18.04.5).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@ros2dev:~/microros_ws# colcon build
Starting >>> micro_ros_setup
Finished <<< micro_ros_setup [5.96s]                  

Summary: 1 package finished [8.45s]
root@ros2dev:~/microros_ws# source install/local_setup.bash
root@ros2dev:~/microros_ws# ros2 run micro_ros_setup create_agent_ws.sh
...
=== ./uros/drive_base (git) ===
Cloning into '.'...
=== ./uros/micro-ROS-Agent (git) ===
Cloning into '.'...
=== ./uros/micro_ros_msgs (git) ===
Cloning into '.'...
#All required rosdeps installed successfully
root@ros2dev:~/microros_ws# ros2 run micro_ros_setup build_agent.sh
Building micro-ROS Agent
Starting >>> micro_ros_msgs
[Processing: micro_ros_msgs]                             
Finished <<< micro_ros_msgs [45.1s]                       
Starting >>> micro_ros_agent
[Processing: micro_ros_agent]                                  
[Processing: micro_ros_agent]                                  
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]micro_ros_agent:build 4% - 2min 0.0s]   
[Processing: micro_ros_agent]                                      
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
[Processing: micro_ros_agent]                                       
--- stderr: micro_ros_agent                                          
Cloning into 'xrceagent'...
Switched to a new branch 'ros2'
Cloning into 'spdlog'...
HEAD is now at eb322062 Bump version to 1.9.2
CMake Warning (dev) at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (tinyxml2)
  does not match the name of the calling package (TinyXML2).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/modules/FindTinyXML2.cmake:40 (find_package_handle_standard_args)
  /opt/ros/foxy/install/share/fastrtps/cmake/fastrtps-config.cmake:51 (find_package)
  CMakeLists.txt:153 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at /root/microros_ws/install/micro_ros_msgs/share/micro_ros_msgs/cmake/ament_cmake_export_targets-extras.cmake:18 (message):
  Failed to find exported target names in
  '/root/microros_ws/install/micro_ros_msgs/share/micro_ros_msgs/cmake/micro_ros_msgs__rosidl_generator_cExport.cmake'
Call Stack (most recent call first):
  /root/microros_ws/install/micro_ros_msgs/share/micro_ros_msgs/cmake/micro_ros_msgsConfig.cmake:41 (include)
  CMakeLists.txt:51 (find_package)


make[2]: *** [micro_ros_agent-prefix/src/micro_ros_agent-stamp/micro_ros_agent-configure] Error 1
make[1]: *** [CMakeFiles/micro_ros_agent.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< micro_ros_agent [9min 24s, exited with code 2]

Summary: 1 package finished [10min 12s]
  1 package failed: micro_ros_agent
  1 package had stderr output: micro_ros_agent
Langage dominant
Shell
Étoiles
509
Forks
183
Merge moyen
22 h 26 min
PR mergées (30 j)
7

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de micro-ROS/micro_ros_setup

Toutes les issues de micro-ROS/micro_ros_setup

Issues similaires

Plus d'issues Shell/Bash

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.