indygreg / indygreg/PyOxidizer

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

Open
#736 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
6.2k
Forks
256
PR merge metrics
No merged PRs in 30d

Description

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

```bash
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:

```dockerfile
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
```

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Dockerfile fragment and the failure at pyoxidizer.bzl:37, then reproduce `pyoxidizer build --release` in the shown Ubuntu or Debian-based container. Investigate the bundled Rust toolchain's libLLVM-15-rust-1.66.0-stable.so and the executable-stack loading error. Done means the sample Docker build completes without this Rust library error.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, rust
Domain
build-system, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.