-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Binaries builds with Nuitka from a uv
-installed Python fails on Ubuntu: libpython3.13.so.1.0
not found
#11234
Comments
I don't know much about the whole Python builds toolchain (that's why I love
|
Also note this warning from the Nuitka project regarding Nuitka/Nuitka@f5e7640#diff-940a5fc082e89e5397d5015ec587ebed5409309cf2ebe9faad105a9ca74918a7R1740 |
Sigh - this is the A kind of terrible workaround is
which you only need for the Nuitka build step (because that will trick ldd as invoked by Nuitka into doing the right thing (at which point Nuitka will find libpython and embedd it into your |
Actually, no, this is Nuitka not knowing we need an rpath (which is probably reasonable, there's not yet a really good way for us to tell a downstream build system that). Let me continue over on Nuitka/Nuitka#3325. |
Tl;Dr: System Python installed by
actions/setup-python
is working but not the Python installed byuv
.I made up a simple project to demonstrate this issue: https://github.com/kdeldycke/nuitka-issue-3325
Works with
actions/setup-python
This project is a simple CLI compiled to a standalone binary on all major platforms (Ubuntu, macOS and Windows) and 2 different architectures (
x86_64
andarm64
).This is performed by a GitHub workflow available at: https://github.com/kdeldycke/nuitka-issue-3325/blob/main/.github/workflows/system-python.yaml
The process works perfectly on all platforms.
Note that in the logs, Nuitka is picking the right Python version from the system:
Issue with
uv
Now let's modify the working workflow used above, and completely remove the use of
actions/setup-python
. Instead, we will rely onuv
alone to install our target Python version, by invoking:That new workflow is available at: https://github.com/kdeldycke/nuitka-issue-3325/blob/main/.github/workflows/uv-python.yaml
Here is an explicit highlight of the differences between the two workflows:
Despite these differences, I expect no change in the results. But this is not the case as you can see in this run: https://github.com/kdeldycke/nuitka-issue-3325/actions/runs/13151107465
All the Ubuntu builds fail. The binary is still produced on these platforms, but running them ends up with this error message:
Note that in this case, Nuitka properly reports the Python 3.13 flavor as sourced from
uv
:Context
This has been tested with:
nuitka
: 2.6.4uv
: 0.5.28actions/setup-python
: 5.4.0This issue has also been reported at: Nuitka/Nuitka#3325
The text was updated successfully, but these errors were encountered: