Maxim Cournoyer schreef op vr 17-09-2021 om 16:03 [-0400]: > Hello, > > Ricardo Wurmus writes: > > > Hartmut Goebel writes: > > > > > Hi, > > > > > > quite often, after "git pull" I'm facing this error when running > > > "make-make-go": > > > > > > $ make make-go > > > Compiling Scheme modules... > > > Compiling Scheme modules... > > > [ 69%] LOAD gnu/packages/admin.scm > > > error: failed to load 'gnu/packages/check.scm': > > > ice-9/eval.scm:293:34: In procedure abi-check: # > > >: record ABI mismatch; recompilation needed > > > make: *** [Makefile:7096: make-packages-go] Fehler 1 > > > > > > How can I solve this, without removing and rebulding *all* files - > > > which is time consuming and a waste of electric power. > > > > You need to rebuild all users of the modified record types. I don’t > > know if you can easily figure out which files these are. > > > > The suggested fix is in fact to rebuild all go files, i.e. “make > > clean-go” and then “make -j”. > > For this example, there's no good way as 'package' is used in a majority > of the Guile modules. It it had been something more specific, such as > the record, you could have gotten away with: > > $ git grep -l bootloader-configuration | grep '.scm' \ > | sed 's/.scm/.go/' | xargs rm > > $ make > > Which I often though to save recompilation time. The ‘dependency tracking‘ patch in could be adapted to let all source files using the ‘package’ macro depend on guix/packages.scm. Likewise for origin records and other records. Greetings, Maxime.