Ubuntu 24.04 - rosdep fails on libcurl4-dev
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- docker, shell, ubuntu
- Domain
- build-system, devops
Research direction
Reproduce the failure with the ros:jazzy-ros-core-noble Docker image on arm64 using the shown rosdep and colcon commands. Inspect how the libcurl4-dev dependency is resolved for Ubuntu Noble; done means rosdep install and the subsequent micro-ROS agent build complete without manual intervention, or the Noble workaround is documented.
Written by the indexing model from the issue text.
Description
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-nobleon arm64 - Installation type:
micro_ros_setup - Version or commit hash:
jazzy- latest (June 2025)
Steps to reproduce the issue
- Use
ros:jazzy-ros-core-nobleas base image in Dockerfile - Build
micro_ros_setupfollowing 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.
- Dominant language
- Shell
- Stars
- 509
- Forks
- 183
- Avg merge
- 22h 26m
- Merged PRs (30d)
- 7
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from micro-ROS/micro_ros_setup
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
micro-ROS/micro_ros_setup#814 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
micro-ROS/micro_ros_setup#809 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
micro-ROS/micro_ros_setup#808 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
micro-ROS/micro_ros_setup#806 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
micro-ROS/micro_ros_setup#803 ·
All issues in micro-ROS/micro_ros_setup
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
danielmiessler/LifeOS#2218 ·
-
docs(agents): strengthen the no-backslash-escaped-backticks rule with an issue-creation example Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
technical-debt
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
ll7/robot_sf_ll7#9560 ·
-
package-update
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
oSoWoSo/vOid_Community_repOsitory#148 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100