Description of problem: $ make syntax-check make: *** No rule to make target `syntax-check'. Stop. This rule still exists in libguestfs 1.18, so it seems to have disappeared somewhere along the 1.19 development branch. The very odd thing is that neither the 1.18 nor the git Makefile* have any reference to 'syntax-check' at all. I cannot see how or where this rule is created, but I assume it's something to do with gnulib. Version-Release number of selected component (if applicable): libguestfs 1.19.40 / git - doesn't work libguestfs 1.18.7 - does work How reproducible: 100%
CC'd to Jim because he added the rule originally.
Hi Rich, That rule is in the gnulib-provided maint.mk file, which is included via GNUmakefile (also from gnulib), and both are copied into your build directory via gnulib-tool that is run from autogen's bootstrap invocation. There is a mechanism (in bootstrap) to ensure that when you switch to a new gnulib commit, it reruns gnulib-tool, but that depends on the stamp file, .git-module-status You could find yourself in the "no syntax-check rule" situation if you had somehow removed maint.mk and/or GNUmakefile without also removing the stamp file, .git-module-status. To recover, just remove the stamp file, .git-module-status, and rerun ./autogen.sh.
Thanks Jim! Fixed for me by removing .git-module-status and rerunning autogen. Not sure how it got out of synch ...