Commit ba6f7a5
committed
Dockerfile: install python3.10-dev + build-essential so Triton can JIT-compile
Uploads fail at inference with:
gcc ... cuda_utils.c ... -l:libcuda.so.1 ... returned non-zero exit status 1
bitsandbytes routes the quantized model through Triton, which compiles a
cuda_utils.c helper on first inference (needs Python.h) and links against
libcuda.so.1 (needs gcc). The base image ships python3.10 and pip but NOT
the Python headers, so that gcc step fails and every extraction errors out.
This was patched by hand in the live container earlier but never landed in
the Dockerfile, so any rebuild/redeploy reproduced the failure. Baking
python3.10-dev and build-essential into the image fixes it for good, and
independently of which bitsandbytes/triton version pip resolves -- the
toolchain being present is what matters, not the version.
Note the uv.lock in this repo is NOT a usable pin for this image: it
resolves torch 2.11 / transformers 5.5 (CUDA 12.x) against a CUDA 11.8
base. A real dependency freeze has to come from `pip freeze` inside the
working container; see the follow-up on pinning.1 parent 8e83c3d commit ba6f7a5
1 file changed
Lines changed: 10 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
11 | 18 | | |
12 | 19 | | |
13 | 20 | | |
14 | 21 | | |
| 22 | + | |
15 | 23 | | |
| 24 | + | |
16 | 25 | | |
17 | 26 | | |
18 | 27 | | |
| |||
0 commit comments