Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure: stdenv on riscv64-linux: bootstrap-tools needs updating #275848

Closed
fgaz opened this issue Dec 21, 2023 · 4 comments · Fixed by #282517
Closed

Build failure: stdenv on riscv64-linux: bootstrap-tools needs updating #275848

fgaz opened this issue Dec 21, 2023 · 4 comments · Fixed by #282517
Labels

Comments

@fgaz
Copy link
Member

fgaz commented Dec 21, 2023

(this is a copy of the message I sent on #stdenv:nixos.org)

stdenv is currently broken for riscv64-linux in staging due to the 5-year-old assembler in the bootstrap tarball not supporting the vector extension. I built a new one (freshBootstrapTools.build on 5a09cb4) and verified that it fixes the issue.

@lovesegfault I was told by @RaitoBezarius to ping you for upload on tarballs.nixos.org

Related: #253713

@lovesegfault
Copy link
Member

Can you produce a PR in the style of #188334?

@fgaz fgaz added the 6.topic: stdenv Standard environment label Jan 20, 2024
@SeTSeR
Copy link
Contributor

SeTSeR commented Jan 21, 2024

(this is a copy of the message I sent on #stdenv:nixos.org)

stdenv is currently broken for riscv64-linux in staging due to the 5-year-old assembler in the bootstrap tarball not supporting the vector extension. I built a new one (freshBootstrapTools.build on 5a09cb4) and verified that it fixes the issue.

@lovesegfault I was told by @RaitoBezarius to ping you for upload on tarballs.nixos.org

Related: #253713

Also it seems that link to commit currently points somewhere else, could you fix it?

fgaz added a commit to fgaz/nixpkgs that referenced this issue Jan 21, 2024
This PR updates the bootstrap tarballs for riscv64-linux with new Hydra-generated ones.

Fixes NixOS#275848 (bootstrap assembler too old to build gcc 13).

I'll be following the script used in NixOS#151399, NixOS#168199, NixOS#183487, and NixOS#188334.

Files came from [this](https://hydra.nixos.org/build/246376732#tabs-summary) Hydra build, which used nixpkgs revision 160cedc to instantiate:

```
/nix/store/cpiajh4l83b08pynwiwkpxj53d78pcxr-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu.drv
```

and then built:

```
/nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu
```

I downloaded these files from Hydra and prefetched them into the nix store with the following commands:

```
STOREPATH=8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu
OPTIONS="--option binary-caches https://cache.nixos.org --option trusted-public-keys cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
nix store prefetch-file \
  file://$(nix store add-file --name bootstrap-tools.tar.xz  $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/bootstrap-tools.tar.xz)
nix store prefetch-file --executable \
  file://$(nix store add-path --name busybox $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/busybox)
```

These commands produced the following output:

```
Downloaded 'file:///nix/store/xs74wcxq3qc12plfc70fds8inbndhcfm-bootstrap-tools.tar.xz' to '/nix/store/3fal4gikp92013kac6rdmfbrch2s859b-xs74wcxq3qc12plfc70fds8inbndhcfm-bootstrap-tools.tar.xz' (hash 'sha256-0LxRd7fdafQezNJ+N2tuOfm0KEwgfRSts5fhP0e0r0s=').
Downloaded 'file:///nix/store/9ndpna6jrlac4y9fappdjm0sxx0g2bja-busybox' to '/nix/store/kb7wyy30y1gxcmdajljr26kxxac606qa-9ndpna6jrlac4y9fappdjm0sxx0g2bja-busybox' (hash 'sha256-OGO96QUzs2n5pGipn/V87AxzUY9OWKZl417nE8HdZIE=').
```

I used the hashes from the output above to create the `fetchurl` invocation which is part of this commit.

I then started the bootstrap with the following command:

```
nix build -L -f . --arg localSystem '(import ./lib).systems.examples.riscv64' hello
```

As @lovesegfault requested, here are the the `sha256sum`s of all the `on-server` components for extra verification:

```
sha256sum /nix/store/${STOREPATH}/on-server/*
```

which produced the following output:

```
d0bc5177b7dd69f41eccd27e376b6e39f9b4284c207d14adb397e13f47b4af4b  /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/bootstrap-tools.tar.xz
65f9433abb598f63c932d33351b14f686551512b1cece1e64c2d0e76aa0ec52e  /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/busybox
```
@fgaz
Copy link
Member Author

fgaz commented Jan 21, 2024

@lovesegfault I opened #282517


@SeTSeR the link looks correct to me, though I based my pr on a newer commit

@SeTSeR
Copy link
Contributor

SeTSeR commented Jan 21, 2024

@SeTSeR the link looks correct to me, though I based my pr on a newer commit

I'm sorry, I thought it was link to commit with updated bootstrapFiles, not to commit it was based on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants