ARMv7l builds on cachix

In case this saves someone some time. I’ve been pushing relatively recent caches of stdenv to https://arm.cachix.org/

Public key: arm.cachix.org-1:fGqEJIhp5zM7hxe/Dzt9l9Ene9SY27PUyx3hT9Vvei0=

5 Likes

Heya, i’ve added the info to the wiki. Which release is the binary cache tracking?

Usually a few weeks behind nixpkgs master.

I’ll push again tonight.

Is there a way to see which revision is currently served by https://arm.cachix.org/?

Not that I’m aware of. Currently on https://releases.nixos.org/nixpkgs/nixpkgs-18.09pre149190.fe6ebf85b76/nixexprs.tar.xz

Will try to bring it up to 19.03.

Pushed 19.03
/nix/store/4fgnyhwv9srmdd4rjf7smlcqy5ms69w7-stdenv-linux

Hi, just wondering if this is still alive/being updated and what revision it’s on at the moment. Some of the wiki information for NixOS on ARM seems to be a bit outdated. After following the instructions on NixOS on ARM - NixOS Wiki, I can’t seem to rebuild with a channel updated to whatever nixos-unstable is on now.

I get an error log ending in

...
  /nix/store/mvingdc00i4kybz7f2xy9dc2xv0pni1b-boost-1.67.0.drv
  /nix/store/mvs8pyjprdpbgkcnacw9lvp8yk9zdgnw-libsodium-1.0.16.drv
  /nix/store/x9r4306kxabc62hrbj5zzhw755myh2k1-source.drv
  /nix/store/qnd60yc290avvg1d98n7w2v4lbnb7czj-brotli-1.0.7.drv
  /nix/store/px98kyyshqi2cnh0wsdlsj2fkh72zgf7-busybox-1.30.1.tar.bz2.drv
  /nix/store/y23ddv8k2cyzs05iihq5wrk4ks9fiysc-busybox-1.30.1.drv
  /nix/store/kl4d2lhm2g1m641w0dcfaw6382dbnylx-nix-2.2.drv
building '/nix/store/c8svmxmwjkzvwszy8ga7x2fwx0qbmm10-bash44-001.drv'...
building '/nix/store/f30binazxhx8g0xkiav6lglp29h4a164-bash44-002.drv'...
building '/nix/store/6kxn0zj4ipzpg2p4csxzy64njknwydy6-autoconf-2.69.tar.xz.drv'...
building '/nix/store/blxkv9dzwnkrvq2chdy307sd9gz5mn3k-automake-1.16.1.tar.xz.drv'...
fixed-output derivation produced path '/nix/store/b532v0f48jbhw151h7v8v6ab8vshlj4z-autoconf-2.69.tar.xz' with sha256 hash '05s19ghbic9whsqsgja87qfjibm0i350daz8i2dawd2xymyc6yjg' instead of the expected hash '113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4'
cannot build derivation '/nix/store/drsa84a2791ali0fgnnf77a69yw1apw6-autoconf-2.69.drv': 1 dependencies couldn't be built
building '/nix/store/q8hxz4f402ps0vwhj3sgfyp6x0ss35sv-bash44-003.drv'...
building '/nix/store/djmmx28jvbngp9wa15z4xasllaaqd1z0-bash44-004.drv'...
cannot build derivation '/nix/store/8hlfh1k5mhcn67hlrd25jwpdldiyjyqy-hook.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/9y5b9xbhji6vszxkdk2xpl5037k89vz1-patch-2.7.6.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/64d40fiyz7ffqs1hzmmwaz1vr9vqn1av-stdenv-linux.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/dpvbx7rxvfam7jz4iszljwnihdhh3fl5-stdenv-linux.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/kl4d2lhm2g1m641w0dcfaw6382dbnylx-nix-2.2.drv': 1 dependencies couldn't be built
error: build of '/nix/store/kl4d2lhm2g1m641w0dcfaw6382dbnylx-nix-2.2.drv' failed

I’m not sure why I’m getting hash errors; is it possible something broke in nixpkgs between master and ca2ba44cab47767c8127d1c8633e2b581644eb8f (which is what @dezgeg’s site caches, and what you get after the first rebuild)?

2019-04-07T12:00:00Z Edit: I found the cause of the issue #2393; I have updated the wiki accordingly. Nonetheless, it would still be nice to know which revision is on https://arm.cachix.org/ at the moment.

That could be a nice feature to add to cachix in general. Related: Search over executables · Issue #18 · cachix/cachix · GitHub

Seems like all caches listed on User:Samueldr/NixOS on ARM - NixOS Wiki including the one from this thread are out of date.
Are there any alternatives around? Building with qemu takes ages

2 Likes

Great news!
There is an up-to-date cache for armv7l on Cachix - Nix binary cache hosting which provides several channels.
I updated the wiki

3 Likes

What’s the latest on installing to ARMv7l? Available installers/images? I might start playing with some boards I have lying around.

Currently there are no official installers or releases for nix/nixos for armv7l. You gonna have to build most of the stuff yourself and this is only really feasible on an existing armv7l system. Cross compiling is buggy and emulation too slow. I released a nix binary tarball and a guide here: GitHub - DavHau/nix-on-armv7l: Nix without NixOS on arm32v7 / armv7l / Raspberry Pi OS / Raspbian .

In general armv7l is not a nice experience. You gonna spend a lot of hours waiting for builds to finish since the currently available binary cache is quite limited.

Better to go for aarch64 which is officially supported. If you have a raspberry with raspbian you can easily switch it to aarch64. Scroll down here for some more info How to install nix package manager on Raspbian? - #11 by janat08 . Or just flash a full aarch64 NixOS onto your hardware right away.

The people on the #nixos-aarch64 irc channel are also very helpful (also with armv7l)

2 Likes