Skip to content

fix: resolve overlinking false positives for staging outputs#2402

Draft
Hofer-Julian wants to merge 1 commit intoprefix-dev:mainfrom
Hofer-Julian:feature/rbd-376-todo-for-the-new-staging-output
Draft

fix: resolve overlinking false positives for staging outputs#2402
Hofer-Julian wants to merge 1 commit intoprefix-dev:mainfrom
Hofer-Julian:feature/rbd-376-todo-for-the-new-staging-output

Conversation

@Hofer-Julian
Copy link
Copy Markdown
Contributor

When a package output inherits from a staging cache, the staging cache's host dependencies aren't installed in the prefix during overlinking checks. This means libraries like libz.so.1 can't be attributed to zlib, even though zlib is a run dependency via inherited run_exports.

Fix: at staging build time, capture a LibraryNameMap (filename to package mapping) from PrefixInfo while conda-meta still exists. Store it in the staging cache metadata, thread it to BuildOutput, and use it as a fallback in perform_linking_checks when resolve_libraries can't find the library on disk.

Fixes #2186

Supersedes #2210

When a package output inherits from a staging cache, the staging
cache's host dependencies aren't installed in the prefix during
overlinking checks. This means libraries like libz.so.1 can't be
attributed to zlib, even though zlib is a run dependency via inherited
run_exports.

Fix: at staging build time, capture a LibraryNameMap (filename to
package mapping) from PrefixInfo while conda-meta still exists. Store
it in the staging cache metadata, thread it to BuildOutput, and use it
as a fallback in perform_linking_checks when resolve_libraries can't
find the library on disk.

Fixes prefix-dev#2186

Supersedes prefix-dev#2210
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.

TODO for the new staging output

1 participant