← Back to issue list

Missing symlinks in bare-based images built with Noble

View original Github issue

Metadata

Project
rockcraft
Number
#857
Type
issue
State
open
Author
clay-lake
Labels
Created
2025-04-09 13:53:38+00:00
Updated
2025-08-15 15:12:36+00:00
Closed

Current evaluation

No evaluation has been recorded for this issue yet.

Issue body

### Bug Description When building a bare-based image from Noble, links between /lib* and /usr/lib* are missing for the usrmerge. The rock will pack successfully, but when running an executable with pebble, the following error is returned. > - Execute command "hello" (fork/exec /usr/bin/hello: no such file or directory) This is because the path `/lib64/ld-linux-x86-64.so.2` is missing. This issue is not found on jammy build-bases ### To Reproduce 1. Pack and load the Rock below into your container daemon 2. Execute a container with args `exec hello`, you should see the error msg above. 3. Repacking the rock with the fix, corrects the problem. ### Environment Host: Linux 6.8.0-57-generic #59~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Mar 19 17:07:41 UTC 2 x86_64 x86_64 x86_64 GNU/Linux Rockcraft: version 1.9.0 ### rockcraft.yaml ```yaml # Metadata section name: hello summary: Hello World description: The most basic example of a rock. version: "latest" license: Apache-2.0 base: bare build-base: ubuntu@24.04 platforms: amd64: # Make sure this value matches your computer's architecture # Parts section parts: hello: # #: Fix # override-build: | # for l in $CRAFT_PART_INSTALL/usr/lib* # do # lib_path=/$(basename $l) # ln -sf usr/$lib_path $CRAFT_PART_INSTALL/$lib_path # done # craftctl default plugin: nil stage-packages: - hello ``` ### Relevant log output ```shell It is too long to include here, but I can send it directly if needed. ```

Evaluation history

No evaluation history available.