-
Notifications
You must be signed in to change notification settings - Fork 624
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
uv python install 3.12
is not working on armv7 libc is identify as gnu
instead of gnueabihf
#6873
Comments
Or at least it would be nice to be able to define / force the right value by command line interface? |
@konstin -- Do you know if this is expected to work yet? |
iirc we have to detect whether we're on a hardfloat abi or not and use |
If you like I can prepare a PR, but I'm not sure which is the best approach to detect if we are are using hardfloat abi or not. Executing the code enabling the ❯ RUST_LOG=trace uv python install 3.12 --verbose
DEBUG uv 0.4.2
TRACE Checking lock for `/root/.local/share/uv/python` at `/root/.local/share/uv/python/.lock`
DEBUG Acquired lock for `/root/.local/share/uv/python`
Searching for Python versions matching: Python 3.12
TRACE ld path: /lib/ld-linux-armhf.so.3
TRACE stdout output from `ld`: ""
TRACE stderr output from `ld`: "Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]\nYou have invoked `ld.so', the helper program for shared library executables.\nThis program usually lives in the file `/lib/ld.so', and special directives\nin executable files using ELF shared libraries tell the system's program\nloader to load the helper program from this file. This helper program loads\nthe shared libraries needed by the program executable, prepares the program\nto run, and runs it. You may invoke this helper program directly from the\ncommand line to load and run an ELF executable file; this is like executing\nthat file itself, but always uses this helper program from the file you\nspecified, instead of the helper program file specified in the executable\nfile you run. This is mostly of use for maintainers to test new versions\nof this helper program; chances are you did not intend to run this program.\n\n --list list all dependencies and how they are resolved\n --verify verify that given object really is a dynamically linked\n\t\t\tobject we can handle\n --inhibit-cache Do not use /etc/ld.so.cache\n --library-path PATH use given PATH instead of content of the environment\n\t\t\tvariable LD_LIBRARY_PATH\n --inhibit-rpath LIST ignore RUNPATH and RPATH information in object names\n\t\t\tin LIST\n --audit LIST use objects named in LIST as auditors\n --preload LIST preload objects named in LIST\n"
TRACE Tried to find musl version by running `"/lib/ld-linux-armhf.so.3"`, but failed: Could not find musl version in output of: `/lib/ld-linux-armhf.so.3`
DEBUG Released lock at `/root/.local/share/uv/python/.lock`
error: No download found for request: cpython-3.12-linux-armv7-gnu I see that, in debian, in the
So it seems to me that this pattern is shared among linux distributions. Otherwise, we can simply implement the same logic used by |
I have the same trouble on a armv7 beaglebone black. Latest |
I’ve thought through a few different options for detecting whether to use I have some Raspberry Pis lying around, but they need to be provisioned first. Could I ask for your help testing #7725, @orgua @zarch? I’d be happy to provide a pre-built version of |
I tried uv
0.3.5
to install a specific version of python on my raspberry-pi:When I try to install python I got:
Looking at the code it seems that all the version available are taken from uv-python/download-metadata.json, where at the moment we have:
Using other tool such as
pystand
they work as expected:Looking at the code from my understanding
uv
is trying to infer this information fromldd
whilepystand
look at the platform in a simpler way:Perhaps
uv
should use/integrate a similar approach?The text was updated successfully, but these errors were encountered: