Skip to content

Document apt index refresh for rosdep in minimal ROS images - #828

Closed
yurekami wants to merge 1 commit into
micro-ROS:jazzyfrom
yurekami:docs/noble-rosdep-apt-update
Closed

Document apt index refresh for rosdep in minimal ROS images#828
yurekami wants to merge 1 commit into
micro-ROS:jazzyfrom
yurekami:docs/noble-rosdep-apt-update

Conversation

@yurekami

@yurekami yurekami commented Sep 1, 2026

Copy link
Copy Markdown

Summary

Document the apt-get update step required before rosdep install when building micro_ros_setup in minimal ROS Docker images such as ros:jazzy-ros-core-noble.

Root cause

  • micro_ros_setup depends on the rosdep key curl
  • rosdistro correctly resolves that key on Ubuntu to libcurl4-openssl-dev
  • official ROS Docker images clear /var/lib/apt/lists/*
  • a derived image that invokes rosdep install without first refreshing APT indexes cannot locate the package

On Ubuntu 24.04 Noble, libcurl4-dev is only a virtual package while libcurl4-openssl-dev is the concrete installable package, so changing the rosdep mapping would be incorrect.

Verification

  • reproduced package resolution behavior on WSL Ubuntu 24.04
  • reproduced failure with an empty APT lists directory
  • git diff --check

The NOTICE entry follows this repository's first-time contributor requirement.

Fixes #782

The Jazzy README currently suggests a clone -> rosdep workflow that is correct on a host machine but can fail in minimal ROS Docker images after their APT lists have been cleared. Document the required apt-get update step and add the first-time contributor NOTICE entry expected by this repository.

Constraint: rosdep still resolves curl to libcurl4-openssl-dev, and Ubuntu 24.04 apt does not accept virtual-only libcurl4-dev as an install candidate

Rejected: Change ros/rosdistro curl mapping to libcurl4-dev | Noble apt-get -s install libcurl4-dev reports no installation candidate

Rejected: Leave the issue to user workaround notes only | the main README currently omits the Docker-specific prerequisite in the build path

Confidence: high

Scope-risk: narrow

Directive: Keep the Docker note adjacent to the generic build steps so future package-manager changes are updated in one place

Tested: git diff --check; verified Noble apt simulation for libcurl4-openssl-dev and libcurl4-dev via WSL Ubuntu 24.04.3

Not-tested: upstream GitHub Actions; full micro_ros_setup build
Signed-off-by: yurekami <yurekami@users.noreply.github.com>
@yurekami
yurekami requested a review from pablogs9 as a code owner September 1, 2026 14:23
@mergify

mergify Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@yurekami yurekami closed this Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant