In conda-build produced binaries, use paths relative to $PREFIX#817
In conda-build produced binaries, use paths relative to $PREFIX#817rapids-bot[bot] merged 14 commits intorapidsai:branch-25.06from
$PREFIX#817Conversation
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 |
vyasr
left a comment
There was a problem hiding this comment.
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.
robertmaynard
left a comment
There was a problem hiding this comment.
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
Co-authored-by: Vyas Ramasubramani <vyas.ramasubramani@gmail.com>
jakirkham
left a comment
There was a problem hiding this comment.
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 🙂
Co-authored-by: Bradley Dice <bdice@bradleydice.com>
| .. 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.
How about this revision?
$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$PREFIXrelative 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.jsonis up to date with these changes.include_guard(GLOBAL))