Skip to content

flake.nix: postInstall on linux fails with "ContextCreate - An error occurred creating the http client: builder error" #659

@antifuchs

Description

@antifuchs

I've just updated my flake inputs to the latest rev of dsc on this repo (a873d9b) and it looks like at that revision, the postInstall step for the built binary is failing (this is on my M1 macbook and a rosetta builder, but I've verified it on a real linux machine too):

:;    nix build .#packages.x86_64-linux.dsc
[2/635/638 built, 373 copied (3362.8/3362.9 MiB), 737.4/737.4 MiB DL] building dsc-deps-0.12.0-pre (buildPhase):    Compiling serde_derive v1.0.217^R
error: build of '/nix/store/f4vbjfa5vvcravd2lv0kyz99jr4nwxnl-dsc-0.12.0-pre.drv' on 'ssh-ng://rosetta-builder' failed: builder for '/nix/store/f4vbjfa5vvcravd2lv0kyz99jr4nwxnl-dsc-0.12.0-pre.drv' failed with exit code 2;
       last 25 log lines:
       > Running phase: updateAutotoolsGnuConfigScriptsPhase
       > Running phase: configurePhase
       > [naersk] cargo_version (read): 1.83.0 (5ffbef321 2024-10-29)
       > [naersk] cargo_message_format (set): json-diagnostic-rendered-ansi
       > [naersk] cargo_release: --release
       > [naersk] cargo_options:
       > [naersk] cargo_build_options: $cargo_release -j "$NIX_BUILD_CORES" --message-format=$cargo_message_format
       > [naersk] cargo_test_options: $cargo_release -j "$NIX_BUILD_CORES"
       > [naersk] RUST_TEST_THREADS: 8
       > [naersk] cargo_bins_jq_filter: select(.reason == "compiler-artifact" and .executable != null and .profile.test == false)
       > [naersk] cargo_build_output_json (created): /build/tmp.9Q7OdtLnBH
       > [naersk] RUSTFLAGS:
       > [naersk] CARGO_BUILD_RUSTFLAGS:
       > [naersk] CARGO_BUILD_RUSTFLAGS (updated):  --remap-path-prefix /nix/store/1p8sbpjv32yhhgw6qkrga2rfvpzs77fs-crates-io-dependencies=/sources --remap-path-prefix /nix/store/gx2rmn4950qmmq7ja38p5fkmp4a48544-git-dependencies=/sources
       > [naersk] pre-installing dep /nix/store/bssbj2dln4x9cr9az3s5pw42g6w68qqc-dsc-deps-0.12.0-pre
       > Running phase: buildPhase
       > cargo build $cargo_release -j "$NIX_BUILD_CORES" --message-format=$cargo_message_format
       > warning: `/build/source/.cargo-home/config` is deprecated in favor of `config.toml`
       > note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
       >    Compiling dsc v0.12.0-pre (/build/source)
       >     Finished `release` profile [optimized] target(s) in 20.86s
       > Running phase: installPhase
       > [naersk] Using file /build/tmp.9Q7OdtLnBH to retrieve build (executable) products
       > [naersk] found executable dsc -> /nix/store/43kv2abdmqjlgpkwd0cmkwjjc5rc84w6-dsc-0.12.0-pre/bin/dsc
       > ContextCreate - An error occurred creating the http client: builder error
       For full logs, run 'nix log /nix/store/f4vbjfa5vvcravd2lv0kyz99jr4nwxnl-dsc-0.12.0-pre.drv'.
error: builder for '/nix/store/f4vbjfa5vvcravd2lv0kyz99jr4nwxnl-dsc-0.12.0-pre.drv' failed with exit code 1

With a .overrideAttrs (old: {postInstall = "";}) this error goes away, and the derivation can be built again.

I'm not sure why it's only failing on linux (or what that error even indicates), but looks like something is off there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions