Adopt meson-python install_rpath for runtime library paths - #274
Draft
antonwolfy wants to merge 2 commits into
Draft
antonwolfy wants to merge 2 commits into
antonwolfy wants to merge 2 commits into
Conversation
Consolidate the installed runtime library search paths into a single install_rpath argument on the loops shared library and both extension modules, replacing the previous -Wl,-rpath link_args workaround. meson-python 0.22 honors install_rpath and no longer preserves the RPATH entries meson auto-inserts for internal link_with dependencies, so the extension modules could no longer locate the co-located libmkl_umath_loops.so at import time on Linux/macOS. Requesting the package directory ($ORIGIN / @loader_path) via install_rpath restores that, and folds the MKL runtime search paths into the same mechanism. Raise the minimum build-time meson-python requirement to 0.22.0 in pyproject.toml and both conda recipes accordingly.
antonwolfy
requested review from
jharlow-intel,
ndgrigorian,
vlad-perevezentsev and
xaleryb
as code owners
September 28, 2026 11:21
Collaborator
Author
Blocked on Python 3.10 support — revisit once 3.10 is droppedThe
conda-forge dependency floor by version, for reference:
The RPATH change itself is validated: the Linux 3.11+ conda builds produce extension modules with the intended RPATH ( PlanKeep this PR open. Revise/merge it once the project drops Python 3.10 ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR migrates the installed RPATH handling to meson-python's
install_rpathargument and raises the minimum build-timemeson-pythonrequirement to0.22.0.Previously the runtime library search paths were injected as raw
-Wl,-rpath,...link_args, which existed only because meson-python < 0.22 ignored theinstall_rpathargument. meson-python 0.22 (released 2026-09-25) adds first-classinstall_rpathsupport and, in the same release, stops preserving the$ORIGINRPATH that Meson auto-inserts for internallink_withdependencies. The extension modules relied on that auto-inserted entry to locate the co-locatedlibmkl_umath_loops.so, so builds against meson-python 0.22 fail at import time on Linux:This surfaced as red
test_linuxjobs on unrelated PRs (e.g. #273) with no code change, once conda-forge shipped meson-python 0.22.