micro-ROS / micro-ROS/micro_ros_setup
Ubuntu 24.04 - rosdep fails on libcurl4-dev
还没有人认领这个 Issue。
- 主要语言
- Shell
- 星标
- 509
- 派生
- 183
- 平均合并
- 22 小时 26 分钟
- 30 天内合并 PR
- 7
描述
## Issue
When building micro_ros_setup for ROS 2 Jazzy on Ubuntu 24.04 Noble (e.g. using the ros:jazzy-ros-core-noble Docker image), I ran into a dependency resolution issue caused by a change in how Ubuntu 24.04 handles `libcurl4-dev`.
Since this may affect other users, I wanted to document the problem and the workaround to help others save time.
- Hardware description: **Custom Docker container** - `ros:jazzy-ros-core-noble` on arm64
- Installation type: `micro_ros_setup`
- Version or commit hash: `jazzy` - latest (June 2025)
#### Steps to reproduce the issue
1. Use `ros:jazzy-ros-core-noble` as base image in Dockerfile
2. Build `micro_ros_setup` following docs:
```
RUN . /opt/ros/jazzy/setup.sh && \
mkdir uros_ws && cd uros_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
```
See rosdep fail:
```
E: Unable to locate package libcurl4-openssl-dev
ERROR: the following rosdeps failed to install
apt: command [apt-get install -y libcurl4-openssl-dev] failed
```
#### Expected behavior
`rosdep install` resolves dependencies on Noble and build proceeds.
#### Actual behavior
Fails because in Noble `libcurl4-dev` is virtual; user must manually install `libcurl4-openssl-dev` first.
### Additional information
#### Workaround
`RUN apt-get update && apt-get install -y --no-install-recommends libcurl4-openssl-dev
`
Then the build completes as expected:
```
RUN . /opt/ros/jazzy/setup.sh && \
mkdir uros_ws && cd uros_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 && \
. install/local_setup.sh && \
ros2 run micro_ros_setup create_agent_ws.sh && \
ros2 run micro_ros_setup build_agent.sh
```
Possible solution - add os-specific dependency entry for Ubuntu 24.04, or note in docs.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
使用所示的 rosdep 和 colcon 命令,在 arm64 上通过 ros:jazzy-ros-core-noble Docker 镜像复现该故障。检查 Ubuntu Noble 如何解析 libcurl4-dev 依赖项;当 rosdep install 和后续的 micro-ROS agent 构建能够在无需手动干预的情况下完成,或 Noble workaround 已记录时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- docker, shell, ubuntu
- 领域
- build-system, devops
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100