Hello, Ricardo Wurmus <rek...@elephly.net> writes:
> Hartmut Goebel <h.goe...@crazy-compilers.com> 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-type >> <package>>: 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 <bootloader-configuration> 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. HTH, Maxim