diff --git a/tooling/pipeline/runpod/Dockerfile b/tooling/pipeline/runpod/Dockerfile index 587e8bc..8c80453 100644 --- a/tooling/pipeline/runpod/Dockerfile +++ b/tooling/pipeline/runpod/Dockerfile @@ -32,10 +32,11 @@ COPY --from=llama-bin /app/lib*.so* /usr/local/lib/ RUN ldconfig # Headers for C++ Build -RUN git clone --depth 1 -b b9012 https://github.com/ggml-org/llama.cpp.git /tmp/llama-src && \ - cp -r /tmp/llama-src/include/* /usr/local/include/ && \ - cp -r /tmp/llama-src/ggml/include/* /usr/local/include/ && \ - rm -rf /tmp/llama-src +RUN curl -L https://github.com/ggml-org/llama.cpp/archive/refs/tags/b9012.tar.gz -o /tmp/llama-src.tar.gz && \ + tar -xzf /tmp/llama-src.tar.gz -C /tmp && \ + cp -r /tmp/llama.cpp-b9012/include/* /usr/local/include/ && \ + cp -r /tmp/llama.cpp-b9012/ggml/include/* /usr/local/include/ && \ + rm -rf /tmp/llama-src.tar.gz /tmp/llama.cpp-b9012 ENV LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}" @@ -50,6 +51,7 @@ RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && \ # ggml_backend_load_all() searches the executable directory first when # GGML_BACKEND_DIR is not set. Copying the ggml-*.so plugin files here # ensures the loader finds them without any environment variable. + # libllama.so, libggml.so, and libggml-base.so are NOT copied here — # those are proper shared libraries resolved via ldconfig/LD_LIBRARY_PATH. RUN cp /usr/local/lib/libggml-cuda.so /workspace/app/build/ 2>/dev/null || true && \ @@ -58,7 +60,7 @@ RUN cp /usr/local/lib/libggml-cuda.so /workspace/app/build/ 2>/dev/null || true cp /usr/local/lib/libggml-rpc*.so /workspace/app/build/ 2>/dev/null || true # Setup Start Script -COPY runpod/start.sh /usr/local/bin/biergarten-start +COPY ./runpod/start.sh /usr/local/bin/biergarten-start RUN chmod +x /usr/local/bin/biergarten-start WORKDIR /workspace/app/build