Skip to content

Build failed with Could not apply patches when system does not offer patch binary #128

@darkyzhou

Description

@darkyzhou

I got following errors when building my project with the library:

 > [builder 2/4] RUN cargo chef cook --release --recipe-path recipe.json:
174.2 Caused by:
174.2   process didn't exit successfully: `/app/target/release/build/libquickjs-sys-2900b94a2755abf1/build-script-build` (exit status: 101)
174.2   --- stderr
174.2   Applying patches...
174.2   Applying "stack-overflow-signed.patch"...
174.2   thread 'main' panicked at 'Could not apply patches: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libquickjs-sys-0.9.0/build.rs:133:14
174.2   note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
174.2 warning: build failed, waiting for other jobs to finish...
174.6 thread 'main' panicked at 'Exited with status code: 101', /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-chef-0.1.61/src/recipe.rs:189:27
174.6 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

And it turns out that build.rs relies on patch binary to patch the source codes of QuickJS, and the build image I am using(debian-slim) does not offer patch binary by default. So I have to install it first before compiling.

I suggest manually checking for the presence of the binary before actually calling it in the build.rs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions