build firmware for android failed, "microcdr" is compatible with requested version "".
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- android, cmake, shell
调研方向
从 micro_ros_setup 的 create_firmware_ws.sh、configure_firmware.sh 和 build_firmware.sh 入口点开始,然后检查 micro_ros_demos_rclc/CMakeLists.txt 以及其中引用的 rosidl_typesupport_microxrcedds_c CMake 文件。使用 issue 中的命令复现 Android arm64-v8a 构建,并追踪 microcdr version 2.0.1 被拒绝的原因。当固件构建在没有 microcdr 配置错误的情况下完成全部 50 个 package 时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
Issue template
- Hardware description: arm64-v8a
- RTOS: ubuntu 24.04, Noble LTS
- Installation type: micro_ros_setup
- Version or commit hash: ROS 2 Jazzy
Steps to reproduce the issue
On the host ubuntu machine, run:
export ANDROID_HOME=/media/work/walter/android/sdk/
export ANDROID_NDK=/media/work/walter/android/android-ndk-r26b/
export ANDROID_NATIVE_API_LEVEL=android-31
export ANDROID_ABI=arm64-v8a
source /opt/ros/jazzy/setup.bash
mkdir microros_ws && cd microros_ws
git clone -b jazzy 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
run micro_ros_setup build_firmware.sh /media/work/walter/android/android-ndk-r26b/build/cmake/android.toolchain.cmake
Expected behavior
micro_ros_setup is built correctly.
Actual behavior
Create firmware successfully. While building firmware, an error is raised when building the package micro_ros_demos_rclc(only this pkg is failed in total 50 pkgs):
Starting >>> micro_ros_demos_rclc
--- stderr: micro_ros_demos_rclc
CMake Error at /media/work/walter/RobotPet/micro-ros/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:
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/microcdr/cmake/microcdrConfig.cmake, version: 2.0.1 (64bit)
Call Stack (most recent call first):
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/rclConfig.cmake:41 (include)
CMakeLists.txt:6 (find_package)
gmake[3]: *** [Makefile:267: cmake_check_build_system] Error 1
gmake[2]: *** [CMakeFiles/timer.dir/build.make:89: timer/src/timer-stamp/timer-build] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:686: CMakeFiles/timer.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
CMake Error at /media/work/walter/RobotPet/micro-ros/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:
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/microcdr/cmake/microcdrConfig.cmake, version: 2.0.1 (64bit)
Call Stack (most recent call first):
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/ament_cmakeCMake Error at /media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install//cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package):
Could not find a configuration file for package "microcshare/rcl/cmake/rclConfig.cmake:41 (include)
CMakeLists.txt:6 (find_package)
dr" that is
compatible with requested version "".
The following configuration files were considered but not accepted:
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/microcdr/cmake/microcdrConfig.cmake, version: 2.0.1 (64bit)
Call Stack (most recent call first):
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
/media/work/walter/Robo
tPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/rclConfig.cmake:41 (include)
CMakeLists.txt:6 (find_package)
CMake Error at /media/work/walter/RobotPet/micro-ros/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:
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/microcdr/cmake/microcdrConfig.cmake, version: 2.0.1 (64bit)
Call Stack (most recent call first):
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/media/work/walter/RobotPet/micro-ros/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/rclConfig.cmake:41 (include)
CMakeLists.txt:6 (find_package)
gmake[3]: *** [Makefile:267: cmake_check_build_system] Error 1
gmake[3]: *** [Makefile:267: cmake_check_build_system] Error 1
gmake[2]: *** [CMakeFiles/fragmented_publication.dir/build.make:89: fragmented_publication/src/fragmented_publication-stamp/fragmented_publication-build] Error 2
gmake[2]: *** [CMakeFiles/publisher_count.dir/build.make:89: graph_introspection/publisher_count/src/publisher_count-stamp/publisher_count-build] Error 2
...
Failed <<< micro_ros_demos_rclc [1.17s, exited with code 2]
Summary: 49 packages finished [30.7s]
1 package failed: micro_ros_demos_rclc
1 package had stderr output: micro_ros_demos_rclc
[ros2run]: Process exited with failure 2
Additional information
tried to specify the version of microcdr in CMakeLists.txt and rosidl_typesupport_microxrcedds_c_generate_interfaces.cmake of rosidl_typesupport_microxrcedds_c, still failed
- 主要语言
- Shell
- 星标
- 514
- 派生
- 184
- 平均合并
- 22 小时 26 分钟
- 30 天内合并 PR
- 7
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
micro-ROS/micro_ros_setup 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
micro-ROS/micro_ros_setup#837 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 68/100
micro-ROS/micro_ros_setup#814 ·
-
难度 4/5 3-5 天 新手友好度 42/100
micro-ROS/micro_ros_setup#809 ·
-
难度 4/5 3-5 天 新手友好度 38/100
micro-ROS/micro_ros_setup#808 · 2 条评论 ·
-
难度 4/5 3-5 天 新手友好度 20/100
micro-ROS/micro_ros_setup#806 ·
查看 micro-ROS/micro_ros_setup 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
AppImage/appimage.github.io#9676 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
YunoHost-Apps/pixelfed_ynh#346 ·
-
documentation
难度 1/5 1 小时以内 新手友好度 90/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 92/100
维护者通常 2 天内回复
-
bug
难度 1/5 1 小时以内 新手友好度 90/100
ChrisTitusTech/dwm-titus#367 ·
维护者通常 1 天内回复