Subject: 'No such file or directory builder' error while building with qemu-binfmt and --system=aarch64-linux

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 27 Jul 2020 21:53:43 -0400

Hello!

I just encountered the following error while trying to build on master
(commit 2bd84c50ff7a8dafe83b6aa89cd0f01d5282c621) with:

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix build --system=aarch64-linux lib2geom

The following derivation will be built:
   /gnu/store/vs11h35gq7fi90bm0h4ygi7ak4ihkck8-lib2geom-1.0-1.42e119d.drv
building /gnu/store/vs11h35gq7fi90bm0h4ygi7ak4ihkck8-lib2geom-1.0-1.42e119d.drv...
while setting up the build environment: executing `/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile': No such file or directory
builder for `/gnu/store/vs11h35gq7fi90bm0h4ygi7ak4ihkck8-lib2geom-1.0-1.42e119d.drv' failed with exit code 1
build of /gnu/store/vs11h35gq7fi90bm0h4ygi7ak4ihkck8-lib2geom-1.0-1.42e119d.drv failed
View build log at '/var/log/guix/drvs/vs/11h35gq7fi90bm0h4ygi7ak4ihkck8-lib2geom-1.0-1.42e119d.drv.bz2'.
guix build: error: build of
   `/gnu/store/vs11h35gq7fi90bm0h4ygi7ak4ihkck8-lib2geom-1.0-1.42e119d.drv' failed
--8<---------------cut here---------------end--------------->8---

The build log doesn't contain any more than the above no such file or
directory error. Retrying the same commands leads to the same error
message.

The build machine is an offload Guix System machine running the
qemu-binfmt service.

The output directory,
/gnu/store/3c0ihmfpazx3hkwyq3k0w8cdfi5ijdg4-lib2geom-1.0-1.42e119d
doesn't exist yet, but I guess that's normal.

A previous error (with the same message) when attempting to build
plotutils led me to find out that the
/gnu/store/2hibdxsj9f0zx3zilwh8phk1knk6y2fl-plotutils-2.6.tar.xz-builder
file referred to in its
/gnu/store/qcilzch61vsm9y4c3k4vbrl89g0fn8a3-plotutils-2.6.tar.xz.drv
derivation did not exist, but retrying the build succeeded.

Marius suggested restarting the guix-daemon, but it didn't resolve the
issue after running it both locally and on the remote offload machine.

A workaround was to 'guix copy /gnu/store/vs11h35gq7fi90bm0h4ygi7ak4ihkck8-lib2geom-1.0-1.42e119d.drv' then
run 'guix build
/gnu/store/vs11h35gq7fi90bm0h4ygi7ak4ihkck8-lib2geom-1.0-1.42e119d.drv'
on that remote machine.

Maxim