micro-ROS / micro-ROS/micro_ros_setup

Cannot build micro-ros for Android device

Aperta
#683 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Shell
Stelle
509
Fork
183
Merge medio
22h 26m
PR unite (30g)
7

Descrizione

## Issue template

- Hardware description: arm64-v8a
- RTOS: Ubuntu 22.04 through WSL2
- Installation type: micro_ros_setup
- Version or commit hash: humble

#### Steps to reproduce the issue

On the host machine, run:
```
mkdir microros_ws && cd microros_ws
git clone -b humble https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup
rosdep update && rosdep install --from-paths src --ignore-src -y
colcon build
source install/local_setup.bash
ros2 run micro_ros_setup create_firmware_ws.sh android generic
ros2 run micro_ros_setup configure_firmware.sh
ros2 run micro_ros_setup build_firmware.sh ~/android_sdk/ndk/25.2.9519653/build/cmake/android.toolchain.cmake
```
#### Expected behavior
Micro-ros is built correctly.
#### Actual behavior
An error is raised when building the package `micro_ros_demos_rclc`.
The error is the following:
```
Starting >>> micro_ros_demos_rclc
--- stderr: micro_ros_demos_rclc
CMake Error at /home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package):
Could not find a configuration file for package "microcdr" that is
compatible with requested version "".

The following configuration files were considered but not accepted:

/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/microcdr/cmake/microcdrConfig.cmake, version: 2.0.1 (64bit)

Call Stack (most recent call first):
/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include)
/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/home/user_ai_001/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/rclConfig.cmake:41 (include)
CMakeLists.txt:6 (find_package)

gmake[2]: *** [CMakeFiles/graph_visualizer.dir/build.make:95: graph_introspection/graph_visualizer/src/graph_visualizer-stamp/graph_visualizer-configure] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:192: CMakeFiles/graph_visualizer.dir/all] Error 2
```

#### Additional information
The following environment variables are set:
```
export ANDROID_HOME='~/android_sdk/'
export ANDROID_NDK='~/android_sdk/ndk/25.2.9519653'
export ANDROID_NATIVE_API_LEVEL=android-31
export ANDROID_ABI=arm64-v8a
```

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con il file CMakeLists.txt di micro_ros_demos_rclc alla riga 6 e con la configurazione di microcdr riportata in firmware/mcu_ws/install; traccia il motivo per cui la build Android rifiuta la versione installata di microcdr. Esegui nuovamente build_firmware.sh con l’ambiente Android elencato e conferma che il pacchetto, incluso micro_ros_demos_rclc, venga compilato correttamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, cmake, shell
Ambito
build-system, embedded-iot, mobile
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.