I want to install a recent Python 3 (preferably Python 3.13) to be used with Nuitka on a cluster. That cluster has glibc 2.12 from 2010.
The Python installation must have the ctypes module available due to Nuitka. ctypes requires the libffi library, which I didn't manage to install because of the ancient toolchain.
So I wanted to give uv a try. I installed uv, then told it to install a Python 3.13:
$ uv python install 3.13
error: Failed to install cpython-3.13.5-linux-x86_64-gnu
Caused by: Failed to download https://github.com/astral-sh/python-build-standalone/releases/download/20250612/cpython-3.13.5%2B20250612-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz
...
which makes sense because the cluster does not connect to the internet (I installed musl uv manually).
At least I know which Python version uv wanted to install. Then I downloaded that version and launched the interpreter:
$ ./python
./python: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by ./python)
./python: /lib64/libc.so.6: version `GLIBC_2.13' not found (required by ./python)
./python: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./python)
./python: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by ./python)
It also makes sense, uv wanted to download a version linked with glibc.
My next attempt was to download a static musl version, namely cpython-3.13.5+20250612-x86_64_v4-unknown-linux-musl-noopt+static-full.tar.zst. Well, this Python has no runtime dependency, so it worked. However, ctypes couldn't be imported:
ModuleNotFoundError: No module named '_ctypes'
so probably this musl version was compiled without libffi.
I am running out of ideas. Is there a way to make Python 3 (with ctypes and Nuitka) work on this old machine?
I want to install a recent Python 3 (preferably Python 3.13) to be used with Nuitka on a cluster. That cluster has glibc 2.12 from 2010.
The Python installation must have the
ctypesmodule available due to Nuitka. ctypes requires the libffi library, which I didn't manage to install because of the ancient toolchain.So I wanted to give uv a try. I installed uv, then told it to install a Python 3.13:
which makes sense because the cluster does not connect to the internet (I installed musl uv manually).
At least I know which Python version uv wanted to install. Then I downloaded that version and launched the interpreter:
It also makes sense, uv wanted to download a version linked with glibc.
My next attempt was to download a static musl version, namely cpython-3.13.5+20250612-x86_64_v4-unknown-linux-musl-noopt+static-full.tar.zst. Well, this Python has no runtime dependency, so it worked. However, ctypes couldn't be imported:
so probably this musl version was compiled without libffi.
I am running out of ideas. Is there a way to make Python 3 (with ctypes and Nuitka) work on this old machine?