docker: mirror soname symlinks into llama.cpp build/bin, assert the relinked quantizer executes
The build/bin hardlink mirror skipped symlinks, so the soname links (libllama-common.so.0 and friends) never reached build/bin. Studio's setup.sh relinks the root llama-quantize to build/bin/llama-quantize, whose RUNPATH is $ORIGIN, so the loader failed with libllama-common.so.0 not found and GGUF export from Studio died with No working quantizer found, then hit the interactive source-build prompt in a non-TTY export subprocess (EOFError). Mirror same-directory soname symlinks into build/bin and extend the bake sanity check to execute llama-quantize from both the install root and build/bin. Dockerfile.studio now also runs the studio-visible quantizer after install.sh so a regression fails the image build instead of runtime exports.
This commit is contained in:
parent
6f6b6389e1
commit
8242b73c88
2 changed files with 35 additions and 11 deletions
|
|
@ -107,6 +107,10 @@ RUN set -eux \
|
|||
# wheels with no sm_100/sm_120 kernels). metadata check only: importing
|
||||
# torch needs native libs, which QEMU arm64 builds cannot load.
|
||||
&& "${UNSLOTH_STUDIO_HOME}/unsloth_studio/bin/python" -c "from importlib.metadata import version; v = version('torch'); assert v.endswith('+${TORCH_FAMILY}'), 'Studio venv torch ' + v + ' does not match ${TORCH_FAMILY}'; print('Studio venv torch', v)" \
|
||||
# setup.sh may relink the root llama-quantize into build/bin; prove the
|
||||
# relinked quantizer still resolves its libraries, or GGUF export breaks
|
||||
# at runtime with "No working quantizer found".
|
||||
&& "${UNSLOTH_STUDIO_HOME}/llama.cpp/llama-quantize" --version \
|
||||
&& rm -rf "${UNSLOTH_STUDIO_HOME}/src/.git" /root/.cache \
|
||||
&& if [ "${TARGETARCH:-amd64}" = "arm64" ]; then \
|
||||
for NVRTC_DIR in "${UNSLOTH_STUDIO_HOME}"/unsloth_studio/lib/python*/site-packages/nvidia/cuda_nvrtc/lib; do \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue