Help with Guix pull and guix system reconfigure

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.

Does anyone knows how to adress it?

Thanks a lot in advance!

Hello,

The reconfigure error seems to indicate it does not know where to find nonguix Linux.

Try guix pull -C /where-your-channels-file-is (/etc/guix/channels.scm maybe?)

Cheers,
TH

Hi,

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

Here’s my channels.scm file:

(list (channel
        (name 'guix)
        (url "https://git.savannah.gnu.org/git/guix.git")
        (branch "master")
        (introduction
          (make-channel-introduction
            "9edb3f66fd807b096b48283debdcddccfea34bad"
            (openpgp-fingerprint
              "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA"))))
      (channel
        (name 'nonguix)
        (url "https://gitlab.com/nonguix/nonguix")
        (introduction
          (make-channel-introduction
            "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
            (openpgp-fingerprint
              "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5")))))

And some of my system.scm :

(use-modules (gnu)
	     (nongnu packages linux)
	     (nongnu system linux-initrd))

(use-service-modules cups desktop networking ssh xorg)

(operating-system
 (kernel linux)
 (initrd microcode-initrd)
 (firmware (list linux-firmware))

Any idea how to procced?

Thanks a lot!

1 Like

Do you find more details in the generated log ?

2 Likes

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.

1 Like

Hey guys,

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.

Thanks a lot for all the help!

Hey @theesm, how are you?

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

Can you help me with this?

Thanks a lot!