Subject: Re: bug#59196: Update on bug#59196: `guix pull` fails on A20-OLinuXino-LIME2-eMMC

From: Tanguy LE CARROUR <[email-masked]>
Date: Fri, 29 Nov 2024 16:19:41 +0100

Hi Julien,

Quoting Tanguy LE CARROUR (2024-11-28 14:25:00)
> Quoting Julien Lepiller (2024-11-27 22:13:06)
> > This is usually due to memory usage. You can cry with -c1, which limits builds
> > to one core, but I'm not sure it will lower the build's memory footprint.
> > Maybe try to stop some running services if they can free up some space…
> 
> `-c` sounds easy to do. I’ll give it a try.

Unfortunately, it crashed the same way, almost on the same file:

```
tanguy@lime2:~$ time sudo guix system init --cores=1 /etc/config.scm /
# […]
[ 42%] GUILEC   gnu/packages/cran.go
make[2]: *** [Makefile:6849: make-packages1-go] Killed
make[2]: Leaving directory '/tmp/guix-build-guix-1.4.0rc2.drv-0/source'
make[1]: *** [Makefile:5929: all-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-guix-1.4.0rc2.drv-0/source'
make: *** [Makefile:4043: all] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "1") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 16431.4 seconds
command "make" "-j" "1" failed with status 2
```

I guess I can close this issue, for it’s not a problem with `guix pull` anymore.
And I don’t think being "RAM-hungry" is a bug… but more of a "feature". 😅

So…

> > Alternatively, you could also offload the build to a more powerful machine
> > (using qemu-binfmt-service if needed) or copy the result from that machine.
> 
> You mean by configuring the Lime to offload [1] to a computer that as
> a qemu service that can build ARM [2]?
> 
> … sounds… doable!
> 
> [1]: https://guix.gnu.org/manual/en/html_node/Daemon-Offload-Setup.html
> [2]: https://guix.gnu.org/manual/en/html_node/Virtualization-Services.html#Transparent-Emulation-with-QEMU

… moving on to the next option: Offloading!

-- 
Tanguy