On FreeBSD 14.0 and NetBSD 10.0, a build fails after sources have been modified: $ touch src/cmp.c $ ./configure $ make V=1 ... base=`expr cmp.1 : '\(.*\).1'` && test -x ../src/$base && (echo '[NAME]' && sed 's@/\* *@@; s/-/\\-/;s/^GNU //; q' ../src/$base.c) | PATH="../src:$PATH" ./help2man -i - -i ./$base.x -S 'diffutils 2024-05-21' $base > cmp.1-t && mv cmp.1-t cmp.1 /bin/sh: ./help2man: not found *** Error code 127 Stop. make[1]: stopped in /home/bruno/diffutils-2024-07-21/man *** Error code 1 The reason is that on FreeBSD, perl is at /usr/local/bin/perl, not /usr/bin/perl. Likewise, on NetBSD, perl is at /usr/pkg/bin/perl, not /usr/bin/perl. And likewise, on Guix, the only binary in /usr/bin is /usr/bin/env. The attached patch fixes it. "use warnings" instead of option '-w' is recommended per https://stackoverflow.com/questions/12554179/ ; it avoids the use of /usr/bin/env's option '-S' which is unportable (not specified by POSIX).