micro-ROS / micro-ROS/micro_ros_setup

Cannot build micro-ros for Android device

オープン
#683 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Shell
スター
509
フォーク
183
平均マージ
22時間 26分
マージ済み PR(30日)
7

説明

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

6 行目の micro_ros_demos_rclc CMakeLists.txt と、firmware/mcu_ws/install に報告されている microcdr の設定から開始し、Android ビルドがインストール済みの microcdr バージョンを拒否する理由を追跡します。記載されている Android 環境で build_firmware.sh を再実行し、micro_ros_demos_rclc を含むパッケージが正常にビルドされることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
android, cmake, shell
領域
build-system, embedded-iot, mobile
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。