micro-ROS / micro-ROS/micro_ros_setup

MicroROS fails to build on Jetson Nano

Aberta
#602 7 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
Shell
Estrelas
509
Forks
183
Merge médio
22h 26min
PRs com merge (30d)
7

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Reproduza a falha com os comandos create_agent_ws.sh e build_agent.sh do micro_ros_setup no ambiente Docker e ROS Foxy relatado. Comece em micro_ros_agent/CMakeLists.txt e no erro gerado em micro_ros_msgs__rosidl_generator_cExport.cmake; a tarefa estará concluída quando build_agent.sh terminar sem o erro de CMake relatado.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
cmake, docker, shell
Domínio
build-system, embedded-iot
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
28/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.