indygreg/PyOxidizer

Rust error in Docker, libLLVM-15-rust-1.66.0-stable.so

koltyakov opened this issue · 0 comments

When running in Docker (ubuntu or debian based images) PyOxidizer fails with:

error[PYOXIDIZER_PYTHON_EXECUTABLE]: adding PythonExecutable to FileManifest
    
    Caused by:
        0: building Python executable
        1: resolving Rust toolchain
        2: error from command -- stderr:
           
           /root/.cache/pyoxidizer/rust/1.66.0-x86_64-unknown-linux-gnu/bin/rustc: error while loading shared libraries: libLLVM-15-rust-1.66.0-stable.so: cannot enable executable stack as shared object requires: Invalid argument
           
           stderr:
                 
      --> ./pyoxidizer.bzl:37:5
       |
    37 |     m.add_python_resource(".", exe)

Dockerfile sample fragment:

FROM rust:bookworm as builder

WORKDIR /home

RUN apt-get update && apt-get install -y wget python3 build-essential

RUN rustup target add x86_64-unknown-linux-musl

RUN wget https://github.com/indygreg/PyOxidizer/releases/download/pyoxidizer%2F0.24.0/pyoxidizer-0.24.0-x86_64-unknown-linux-musl.tar.gz
RUN tar -xzf pyoxidizer-0.24.0-x86_64-unknown-linux-musl.tar.gz
RUN mv pyoxidizer-0.24.0-x86_64-unknown-linux-musl/pyoxidizer /usr/local/bin/
RUN rm -rf pyoxidizer-0.24.0-x86_64-unknown-linux-musl.tar.gz pyoxidizer-0.24.0-x86_64-unknown-linux-musl

ADD pyoxidizer.bzl /home/pyoxidizer.bzl
ADD cli/ /home/cli/
ADD lib/schemas/ /home/lib/schemas/

RUN pyoxidizer build --release