Skip to content

Build failure: nixStatic (bash: Argument list too long) #357949

Description

@heywoodlh

How does one actually build nixStatic without a full installation of Nix, such as with the Nix official docker image? It'd be nice to do a multi-stage Docker build like so:

FROM docker.io/nixos/nix AS nix-static-builder

RUN nix --extra-experimental-features "flakes nix-command" build -o /tmp/nix nixpkgs#nixStatic

FROM alpine

COPY --from=nix-static-builder /tmp/nix/bin/nix /usr/bin/nix

Also, is there any predictable URL to grab the static binary besides directly from Hydra? This seems to work for me:

nix run "nixpkgs#curl" -- -L https://hydra.nixos.org/job/nix/maintenance-$(nix --version | nix run "nixpkgs#gawk" -- '{print $3}' | cut -d'.' -f1-2)/buildStatic.nix.$(nix run "nixpkgs#busybox" -- arch)-linux/latest/download-by-type/file/binary-dist -o /nix-bin \
    && chmod +x /nix-bin

😄

Steps To Reproduce

Steps to reproduce the behavior:

  1. Attempt to build nixStatic without downloading from the binary cache, i.e. docker run -it --rm docker.io/nixos/nix nix --extra-experimental-features 'nix-command flakes' build -o /tmp/nix nixpkgs#nixStatic

  2. My laptop running NixOS seems to build it just fine -- but I suspect it's pulling down from the binary cache

Build log

Build Log

(I can get the entire log if desired/needed -- I don't think it's necessary for this example)

❯ docker run -it --rm docker.io/nixos/nix nix --extra-experimental-features 'nix-command flakes' build -o /tmp/nix nixpkgs#nixStatic
error: builder for '/nix/store/28d5l059yypca26g7iria6yixg70q4rp-nix-static-x86_64-unknown-linux-musl-2.24.10.drv' failed with exit code 2;
       last 25 log lines:
       >   AR     src/libmain/libnixmain.a
       >   LD     src/libflake/libnixflake.a
       >   AR     src/libfetchers/libnixfetchers.a
       >   AR     src/libflake/libnixflake.a
       >   LD     src/libcmd/libnixcmd.a
       >   LD     tests/unit/libutil-support/libnixutil-test-support.a
       >   AR     tests/unit/libutil-support/libnixutil-test-support.a
       >   LD     src/libutil-c/libnixutilc.a
       >   AR     src/libutil-c/libnixutilc.a
       >   LD     tests/unit/libstore-support/libnixstore-test-support.a
       >   LD     src/libstore-c/libnixstorec.a
       >   AR     src/libstore-c/libnixstorec.a
       >   LD     tests/unit/libexpr-support/libnixexpr-test-support.a
       >   AR     tests/unit/libexpr-support/libnixexpr-test-support.a
       >   LD     src/libexpr-c/libnixexprc.a
       >   AR     tests/unit/libstore-support/libnixstore-test-support.a
       >   LD     tests/unit/libutil/libnixutil-tests
       >   AR     src/libcmd/libnixcmd.a
       >   AR     src/libexpr-c/libnixexprc.a
       >   LD     src/libexpr/libnixexpr.a
       >   AR     src/libexpr/libnixexpr.a
       >   LD     src/libstore/libnixstore.a
       >   AR     src/libstore/libnixstore.a
       > make: /nix/store/0irlcqx2n3qm6b1pc9rsd2i8qpvcccaj-bash-5.2p37/bin/bash: Argument list too long
       > make: *** [mk/lib.mk:85: src/nix/nix] Error 127
       For full logs, run 'nix log /nix/store/28d5l059yypca26g7iria6yixg70q4rp-nix-static-x86_64-unknown-linux-musl-2.24.10.drv'.

Additional context

Metadata

Notify maintainers

@edolstra
@lovesegfault
@Artturin


Note for maintainers: Please tag this issue in your PR.


Add a 👍 reaction to issues you find important.

Metadata

Metadata

Assignees

No one assigned

    Labels

    0.kind: build failureA package fails to build2.status: stalehttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions