In a pkgsrc bulk build, rpc2 2.6 failed due to bison/byacc/yacc, and I
was able to reproduce on a system without bison:
checking for bison... no
checking for byacc... no
configure: error: Build requires bison, byacc or yacc parser generator
For some reason it isn't looking for yacc, which is quite present in
/usr/bin. Despite autoconf's documentation which says that AC_PROG_YACC
looks for yacc, it seems not to. More mysteriously, the code in
/usr/pkg/share/autoconf/acspecific.m4 has
AC_DEFUN(AC_PROG_YACC,
[AC_CHECK_PROGS(YACC, 'bison -y' byacc, yacc)])
but I see that yacc is the default, not checked.
So this code in configure.in is wrong:
if test -z "${ac_cv_prog_YACC}" ; then
AC_MSG_ERROR([Build requires bison, byacc or yacc parser generator])
fi
because it checks ac_cv_prog_YACC, and autoconf doesn't set that when it
uses the default value.
But, I suspect that there are some Linux systems with no working yacc
(because the package isn't installed), whereas all normal BSD systems
just have yacc. So perhaps the test should be
if [ ! -x "$YACC" ]; then
or more likely to keep working instead of AC_PROG_YACC it should be
AC_CHECK_PROGS(YACC, 'bison -y' byacc yacc)