On Fri, Feb 17, 2023 at 10:29:35AM +0200, Max Brieiev wrote: > I want to run Guix on Apple M1 as a Qemu virtual machine. > > On the Mac machine I run arm64 dedian image. I installed there guix as a > package manager. Now I am trying to create a guix system image to use > with Qemu, but it fails. > > Here is what I do: > > max@debian:~$ guix system image --system=aarch64-linux -t qcow2 ~/code/guix/gnu/system/examples/bare-bones.tmpl > guix system: warning: Consider running 'guix pull' followed by > 'guix system reconfigure' to get up-to-date packages and security updates. > > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% > The following derivations will be built: > /gnu/store/dhknasynfsx9ffsv2m188mmhfvz4l1cl-grub-2.06.drv > /gnu/store/875pz541zymv6vhl0hkfll151jv8sd2p-qemu-minimal-7.2.0.drv > /gnu/store/2vbjnb0f6dzcnvvyaaqjzww0146fpwmj-openbios-qemu-ppc-1.1.drv > /gnu/store/dclmdk80rbqqpix98vh6srhdbgscyiwb-qemu-7.2.0.tar.xz.drv > /gnu/store/g9crxhl9j2pw35kwgx9bdcjg3jrvi77v-linux-libre-6.1.9.drv > /gnu/store/blyj3j5v3p2lh6pj7mw81xjg58d1k4zb-shepherd-0.9.3.drv > /gnu/store/r517qlsjsl877kpjfl9ixay9mzh0n923-grub-efi32-2.06.drv > /gnu/store/pyv1w00f9c0q291qhi6y0911sqlvfcrv-grub-efi-2.06.drv > /gnu/store/875pz541zymv6vhl0hkfll151jv8sd2p-qemu-minimal-7.2.0.drv > /gnu/store/brzpisxg4dkvad07pd95riwn7c8559j6-genimage-15-1.ec44ae0.drv > > 1.0 MB will be downloaded > alsa-utils-1.2.4 987KiB 4.5MiB/s 00:00 [##################] 100.0% > building /gnu/store/g9crxhl9j2pw35kwgx9bdcjg3jrvi77v-linux-libre-6.1.9.drv... > building /gnu/store/2vbjnb0f6dzcnvvyaaqjzww0146fpwmj-openbios-qemu-ppc-1.1.drv... > | 'build' phasebuilder for `/gnu/store/2vbjnb0f6dzcnvvyaaqjzww0146fpwmj-openbios-qemu-ppc-1.1.drv' failed with exit code 1 > build of /gnu/store/2vbjnb0f6dzcnvvyaaqjzww0146fpwmj-openbios-qemu-ppc-1.1.drv failed > View build log at '/var/log/guix/drvs/2v/bjnb0f6dzcnvvyaaqjzww0146fpwmj-openbios-qemu-ppc-1.1.drv.gz'. > cannot build derivation `/gnu/store/875pz541zymv6vhl0hkfll151jv8sd2p-qemu-minimal-7.2.0.drv': 1 dependencies couldn't be built > guix system: error: build of `/gnu/store/875pz541zymv6vhl0hkfll151jv8sd2p-qemu-minimal-7.2.0.drv' failed > > > The relevant part of the build log shows the following errors: > > Building OpenBIOS for ppc > Building... > error: > /gnu/store/gm5mbaxkqhzafwy0wnimrg53j884glxn-linux-libre-headers-5.10.35/include/asm/sigcontext.h:128:2: error: unknown type name ‘__u32’ > 128 | __u32 size; /* size in bytes of the extra space */ > | ^~~~~ > /gnu/store/gm5mbaxkqhzafwy0wnimrg53j884glxn-linux-libre-headers-5.10.35/include/asm/sigcontext.h:129:2: error: unknown type name ‘__u32’ > 129 | __u32 __reserved[3]; > | ^~~~~ > /gnu/store/gm5mbaxkqhzafwy0wnimrg53j884glxn-linux-libre-headers-5.10.35/include/asm/sigcontext.h:136:2: error: unknown type name ‘__u16’ > 136 | __u16 vl; > | ^~~~~ > /gnu/store/gm5mbaxkqhzafwy0wnimrg53j884glxn-linux-libre-headers-5.10.35/include/asm/sigcontext.h:137:2: error: unknown type name ‘__u16’ > 137 | __u16 __reserved[3]; > | ^~~~~ > make[1]: *** [rules.mak:83: host/kernel/bootstrap.o] Error 1 > make[1]: *** Waiting for unfinished jobs.... > make[1]: Leaving directory '/tmp/guix-build-openbios-qemu-ppc-1.1.drv-0/source/obj-ppc' > make: *** [Makefile:19: build] Error 1 > error: in phase 'build': uncaught exception: > %exception #<&invoke-error program: "make" arguments: ("-j" "4") exit-status: 2 term-signal: #f stop-signal: #f> > phase `build' failed after 0.2 seconds > command "make" "-j" "4" failed with status 2 > > I don't know where to look to fix this error. Please, help me. > > Also, I thought I could find somewhere arm64 guix build, but apparently > there is none? > > I found only a raw image for Pinebook Pro: > https://ci.guix.gnu.org/eval/196495 > > But for some reason it says it is x86_64 system, and this confuses me. > > Thank you in advance. I have two patches on the core-updates branch that should allow building openbios-qemu-ppc from aarch64. I'll try cherry-picking them to master and see if that allows building qemu-minimal. -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted