core: switch to using rpath for clasic confinement.
Metadata
Current evaluation
Merged PR #1094 (commit e174e46e6) switched core classic confinement from RUNPATH to RPATH, addressing LP #1657504.
Resolution: closed resolved
Reason: The approved PR was merged as commit e174e46e6, implementing RPATH-based library resolution for classic-confinement core snaps.
Evaluated by: mr-cal-bot
No scores available.
Issue body
From _dl_map_object in elf/dl-load.c:
```
Unless loading object has RUNPATH:
RPATH of the loading object,
then the RPATH of its loader (unless it has a RUNPATH), ...,
until the end of the chain, which is either the executable
or an object loaded by dlopen
Unless executable has RUNPATH:
RPATH of the executable
LD_LIBRARY_PATH
RUNPATH of the loading object
ld.so.cache
default dirs
```
LP: #1657504
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1094 (commit e174e46e6) switched core classic confinement from RUNPATH to RPATH, addressing LP #1657504. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1094 switched core classic confinement from RUNPATH to RPATH, addressing LP #1657504’s ELF dynamic-library search behavior. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after reviewer approval and CI checks. The change switches the core module to use RPATH for classic confinement, resolving LP #1657504. The minimal two-file diff adjusts ELF dynamic linker path resolution behavior. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Switched core to use rpath for classic confinement, aligning dynamic library search paths with standard ELF loader behavior and resolving LP: #1657504. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1112 core: setup core to support classic confinement. | snapcraft | merged | Merged PR #1112 (49b39ef9a) added SNAPCRAFT_SETUP_CORE, fetching and unsquashing core into expected paths for classic-confinement builds on non-Snappy CI hosts. | |
| #1189 core: resolve ld link first. | snapcraft | merged | Merged PR #1189 as commit 78d1883ca, resolving ld symlinks before existence checks in classic-confinement builds and fixing LP #1672495. | |
| #1090 core: classic with no exported variables. | snapcraft | closed | Closed unmerged and superseded by snapcraft#1093, which implemented the classic-confinement fix in commit e7824093f for LP #1657504. | |
| #4216 meta: omit LD_LIBRARY_PATH and PATH in classic confinement | snapcraft | merged | Merged PR #4216 (commit 9b6e58337) omits default LD_LIBRARY_PATH and PATH for classic-confinement snaps, resolving #4187. |