You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a consequence of #540 I was playing with these concepts and decided
to explore it.
This includes #546 (could be merged separately or together), which
separates "static" builds from the "musl" triple specifically in favor
of a dedicated build option.
The main implementation downside here is that `$ORIGIN` doesn't work
with DT_NEEDED so we need to use RUNPATH instead, which can cause the
wrong library to be loaded if LD_LIBRARY_PATH is set. Given the current
builds aren't usable at all, I think this is a fine trade-off. We can
explore alternatives in the future, like statically linking just
libpython.
Another caveat here: for consistency with the glibc builds, we're
changing the "default" musl build to be dynamically linked. This is a
breaking change in the release artifacts. The statically linked musl
build will include a `+static` suffix. We could do something for
backwards compatibility here, but I _think_ this probably makes sense in
the long term. My primary concern is that consumers that combine
releases (such as uv) would need to encode this change (e.g., toggle the
expectation based on the python-build-standalone version tag).
It's challenging to test changes to the release artifact handling.
Regardless of approach, this will need a follow-up to adjust that
accordingly.
0 commit comments