On Haiku, there is a build failure: make[2]: Entering directory '/boot/home/bison-3.5.92/build' GEN ../doc/bison.help CC lib/main.o CC lib/yyerror.o AR lib/liby.a GEN ../doc/bison.1 /boot/home/bison-3.5.92/build-aux/missing: line 81: help2man: command not found WARNING: 'help2man' is missing on your system. You should only need it if you modified a dependency of a man page. You may want to install the GNU Help2man package: <https://www.gnu.org/software/help2man/> Makefile:9906: recipe for target '../doc/bison.1' failed make[2]: *** [../doc/bison.1] Error 127
There is an up-to-date doc/bison.1 file in the tarball, and I have not modified the source files after unpacking the tarball. Therefore 1) There is no need to invoke help2man. 2) If 'missing help2man ...' gets invoked, it should not fail. Let's see in detail: 1) The 'tar' program on Haiku has assigned sub-second timestamps to the files that were not present in the tarball. See: On Linux: $ ls -lrt --full-time doc/bison.help doc/bison.x configure doc/bison.1 -rw-r--r-- 1 bruno bruno 1383 2019-04-25 22:38:23.000000000 +0200 doc/bison.x -rwxr-xr-x 1 bruno bruno 1323386 2020-05-03 12:49:02.000000000 +0200 configure -rw-r--r-- 1 bruno bruno 4454 2020-05-03 12:49:47.000000000 +0200 doc/bison.help -rw-r--r-- 1 bruno bruno 6319 2020-05-03 12:49:47.000000000 +0200 doc/bison.1 On Haiku: $ ls -lrt --full-time doc/bison.1 doc/bison.x doc/bison.help configure -rw-r--r-- 1 505 20 1383 2019-04-25 20:38:23.056098816 +0000 doc/bison.x -rwxr-xr-x 1 505 20 1323386 2020-05-03 10:49:02.023330816 +0000 configure -rw-r--r-- 1 505 20 6319 2020-05-03 10:49:47.057671680 +0000 doc/bison.1 -rw-r--r-- 1 505 20 4454 2020-05-03 10:49:47.057933824 +0000 doc/bison.help This explains why 'make' thinks it needs to rebuild doc/bison.1. 2) Fixing 1) is not enough. As explained in <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00011.html>, it is frequent that users, when building a tarball, don't control the modification times of the files. So, the rule that builds a man page should be resilient to this situation. In other words, when the help2man program is not available and a (possibly old) man page is present, it should NOT err out. Hmm... I see that neither gettext nor gperf, for which I wrote the manpage Makefile rules, work like this. What do you think? Is it more important to be resilient, or more important that if help2man fails for reasons that are in the package itself, "make" fails? Bruno