Hey guys, I’ve recently installed guix on my pc, and was doing some post intallation stuff, like using guix pull and than guix system -E reconfigure ~/.config/guix/system.scm, but i’m getting a few errors that I can’t work around.
The result for guix pull is the following:
cannot build derivation `/gnu/store/iwsf3gkckkijf3szcvafv24ba5gwnh62-profile.drv': 1 dependencies couldn't be built
guix pull: erro: build of `/gnu/store/iwsf3gkckkijf3szcvafv24ba5gwnh62-profile.drv' failed
and for guix system reconfigure:
guix system: error: fail to load ".config/guix/system.scm":
ice-9/boot-9.scm:3330:6: In procedure resolve-interface:
no code for module (nongnu packages linux)
At some point guix system reconfigure was kinda working, and was doing it stuff, until the point were it couldn’t compile the linux kernel.
I tried looking into the var logs, and it said at the end:
libbpf: failed to find '.BTF' ELF section in vmlinux
FAILED: load BTF from vmlinux: No data available
make[2]: *** [scripts/Makefile.vmlinux:37: vmlinux] Error 255
make[2]: *** Deleting file 'vmlinux'
make[1]: *** [/tmp/guix-build-linux-6.9.4.drv-0/linux-6.9.4/Makefile:1160: vmlinux] Error 2
make: *** [Makefile:240: __sub-make] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "8") exit-status: 2 term-signal: #f stop-signal: #f>
phase `build' failed after 5247.6 seconds
command "make" "-j" "8" failed with status 2
I tried installing libelf and libbpf packages, but it did nothing, instead of stoping guix pull from going trough.
I tried what you suggested, as follows: guix pull -C ~/.config/guix/channels.scm. The result was:
the compilation of /gnu/store/sbkas5640mgbgyxrnlw8j07jis9ca2yb-nonguix.drv falhou
See the compilation log in
"/var/log/guix/drvs/sb/kas5640mgbgyxrnlw8j07jis9ca2yb-nonguix.drv.gz".
cannot build derivation `/gnu/store/8dcnbnpcahhrf8r7bmyyj5ayccm9d5l3-profile.drv': 1 dependencies couldn't be built
guix pull: erro: build of `/gnu/store/8dcnbnpcahhrf8r7bmyyj5ayccm9d5l3-profile.drv' failed
We removed linux-libre-6.8 from guix proper yesterday as it was end of life for a while now; this caused libbpf which was specifically depending on linux-libre-6.8 headers to break, as the variable wasn’t available anymore, which then caused guix pull to break for a few hours as there now was a dysfunctional package in guix. I’d say you could try to guix system reconfigure again & everything should work as expected now.
One way i was able to make guix system reconfigure to work yesterday was to run guix build /gnu/store/...linux.6.9.4 on it’s own. Then, the first command worked just fine. Maybe it just needed some time as pointed out for @theesm.
As it turns out, I said that the issue was resolved, however, later on I tried another guix system reconfigure just to make sure everything was ok. And for my surprise, the error persisted. When I looked into the logs, I got this:
.
.
.
scripts/link-vmlinux.sh: line 111:9528 killed LLVM_OBJCOPY="${OBJCOPY}" ${PAHOLE} -J ${PAHOLE_FLAGS} ${1}
LD .tmp_vmlinux.kallsyms1
.btf.vmlinux.bin.o: file not recognized: file format not recofnized
make[2]: *** [scripts/Makefile.vmlinux:37: vmlinux] Error 1
make[1] *** [/tmp/guix-build-linux-6.9.4.drv-0/linux-6.9.4/Makefile:1160:vmlinux] Error 2
error: in phase 'build' : uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "8") exit-status: 2 term-signal: #f stop-signal: #f>
phase `build` failed after 4588.0 seconds
command "make" "-j" "8" failed with status 2
Hi everybody, I’m facing the same issue. Despite many googling, I can’t find any solution solving this error. But maybe (in another thread (?)) this issue has already been solved (?) : any input or link would be grateful !
Thanks
Thx for the reply sls.
In a first approach: exactly the same
guix system: error: fail to load “.config/guix/system.scm”:
ice-9/boot-9.scm:3330:6: In procedure resolve-interface:
no code for module (nongnu packages linux)
I’ll have a look on the Guix mailing list I wasn’t aware of (and search for this issue if already raised (if not I’ll open a new thread))