-
Notifications
You must be signed in to change notification settings - Fork 52
In conda-build produced binaries, use paths relative to $PREFIX
#817
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
In conda-build produced binaries, use paths relative to $PREFIX
#817
Conversation
16ec700
to
6b0988a
Compare
6b0988a
to
9a899aa
Compare
Thanks Kyle! 🙏 @vyasr would you like to take a look as well? |
Is it possible to test this? |
Is there a way to checkout this PR in a build of say RMM or cuDF? If so, we could use that to test this change in downstream CI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. One very minor suggestion but nothing blocking. I just merged latest so that I could rerun CI on the test PRs since this PR is now out of date w.r.t. the rmm layout changes, so the cudf test job is failing. Once it passes we should be good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The docs for rapids_cmake_support_conda_env
need to be expanded to document this new behavior ( and what version it is added in ). See the paragraph about -O0
for an example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks all for the feedback!
Also thanks for testing Bradley! 🙏
Included Vyas' suggestion. Thank for mentioning that simplification
Also included a doc/release note based on Rob's feedback
Please let me know if there is anything else 🙂
.. versionadded:: v25.06.00 | ||
|
||
The flag `-ffile-prefix-map` is now passed to remap absolute paths starting | ||
with `$ENV{PREFIX}` to paths relative to it in binaries generated via | ||
compilation. This ensures paths baked into binaries are relative to the | ||
environment prefix. This prevents Conda from rewriting these paths when the | ||
package is installed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about this revision?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like it
$PREFIX
in conda-build$PREFIX
/merge |
Thanks all! 🙏 |
Description
Fixes #798
Add compiler flags in conda-build runs to remap binary embedded paths from absolute paths (with
$PREFIX
) to$PREFIX
relative paths. This keeps the meaningful portion of the path while dropping the build time specific$PREFIX
. Plus bypasses the need to do prefix replacement with these paths.Checklist
cmake-format.json
is up to date with these changes.include_guard(GLOBAL)
)