Hi, On Sun, 01 Aug 2021 18:46:00 +0200 Ludovic Courtès wrote: > Brice Waegeneire skribis: > > > In guix/build-system/linux-module.scm: > > 132:22 3 (lower "ddcci-driver-linux-0.3.3" #:source _ #:inputs _ #:native-inputs _ #:outputs _ #:system _ #:target _ #:linux _ . _) > > In ice-9/boot-9.scm: > > 1685:16 2 (raise-exception _ #:continuable? _) > > 1685:16 1 (raise-exception _ #:continuable? _) > > 1685:16 0 (raise-exception _ #:continuable? _) > > > > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > > In procedure %package-native-inputs-real: Wrong type argument: # > > In this case, the problem is that (@ (guix build-system linux-module) > lower) assumes that ‘linux’ is a : > > (build-inputs `(,@(if source > `(("source" ,source)) > '()) > ,@native-inputs > ;; TODO: Remove "gmp", "mpfr", "mpc" since they are > ;; only needed to compile the gcc plugins. Maybe > ;; remove "flex", "bison", "elfutils", "perl", > ;; "openssl". That leaves very little ("bc", "gcc", > ;; "kmod"). > ,@(package-native-inputs linux) ;<----- HERE > > I suppose you could add a special-case for (inferior-package? linux). > Not pretty, but it’d do the job. Or, as the comment says, it might be enough just to not get the package-native-inputs from the package ever, but do hard-code bc, gcc and kmod. Maybe add a comment why :) The reason I hadn't done that back then is because it's slightly less maintenance to not have Linux's native-inputs copy&pasted like this (one day, Linux could switch the GCC version they use). But really, we should be good for years anyway. I'm not sure whether Linux checks whether it's being compiled with the right compiler, though. If not, that could cause some nasty silent miscompilations in the future.