Hi Guix, When I added bcc and bpftrace to guix I didn't think much of which version of the kernel headers would be used. After a few kernel updates, it has become clear that the current-system kernel headers need to match the kernel headers the packages are compiled with. Can they be provided with a variant property? The ocaml packages that need different ocaml versions seem like a nice model on how to do the kernel headers. Thoughts? - John
[-- Attachment #1: Type: text/plain, Size: 1004 bytes --] John, This reminds me of <http://issues.guix.gnu.org/45592>. John Soo 写道: > Hi Guix, > > When I added bcc and bpftrace to guix I didn't think much of > which > version of the kernel headers would be used. After a few kernel > updates, it has become clear that the current-system kernel > headers need This should probably be booted-system. > to match the kernel headers the packages are compiled with. Can > they be > provided with a variant property? The ocaml packages that need > different ocaml versions seem like a nice model on how to do the > kernel > headers. I know exact kernel headers are needed at toolchain run time, when building eBPF programmes. Are they really needed at toolchain build time, too? That sounds wrong (but there are more things fundamentally wrong with eBPF on Linux; ask me to rant about CONFIG_IKHEADERS). Still, could pointing bcc/bpftrace to booted-system headers at run time not suffice? Kind regards, T G-R [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --]
Hi Tobias, Tobias Geerinckx-Rice <me@tobias.gr> writes: > John, > > This reminds me of <http://issues.guix.gnu.org/45592>. Hm, maybe. How does it remind you of zfs? It seems like zfs needs the libraries from util-linux, right? bcc and bpftrace need the kernel headers. The following should illustrate there is nothing to load dynamically, right? find $(guix build linux-libre-headers) -name '*.\.so*' > This should probably be booted-system. Yes, definitely, thanks. s/current-system/booted-system/ > I know exact kernel headers are needed at toolchain run time, when > building eBPF programmes. Are they really needed at toolchain > build time, too? I am not sure what the headers are used for but they are indeed the .h files (tree $(guix build linux-libre-headers)). I would assume they are used by the gcc-toolchain when compiling the package as #includes. What do you think? - John