Building fails due to BISON with the latest development version

Update to the latest development and recompiling I got in trouble with the following error:

/home/jamatos/devel/octave/configure: line 9266: syntax error near unexpected token `BISON,'
/home/jamatos/devel/octave/configure: line 9266: `    gl_PROG_BISON(BISON, 3.0)'

I have rebuilt until last Sunday without any issue.
FWIW I am using Fedora 35 (beta) and bison is available:

# dnf list --installed bison
Installed Packages
bison.x86_64                                  3.7.6-3.fc35                                 @fedora

Looking into the recent changes probably this is, probably, related to jwe’s changes.

Regards,

Did you run ./bootstrap in the source tree after updating?

Nope.
I did that just after writing the message and before reading your message. :slight_smile:

Now it works again.

Thank you.

PS: I think that I should add this to my personal FAQ since I think that this is the second time this happened to me. :frowning:

Is there a way we could automate this step with a dependency in the Makefile? Maybe all we need is the attached change? There are already rules to reconstruct other files that the bootstrap script creates (like libinterp/dldfcn/module.mk, doc/interpreter/images.mk, etc.) if their prerequisites change, so I didn’t list them in the new rule. I suppose I can make this change on default and see whether it causes trouble.

bootstrap-depends-diffs.txt (256 Bytes)

That seems useful and matches what it is done with configure.

Thank you. :slight_smile:

That works perfectly in the hg repository. But it doesn’t work with a .tar ball (e.g., failure on buildbot).

make[2]: *** No rule to make target '/scratch/buildbot/workers/jwe-debian-x86_64-5/mxe-native-on-debian/src/tmp-default-octave/octave-7.0.0/bootstrap', needed by '/scratch/buildbot/workers/jwe-debian-x86_64-5/mxe-native-on-debian/src/tmp-default-octave/octave-7.0.0/Makefile.in'.  Stop.

Is it possible to skip that rule for the tar ball?

This would be lovely. I hit the same error, but since I have a long history with Octave I knew to run bootstrap immediately. However most users, and even a lot of developers, probably will fumble around before finding this workaround.

I backed out the changeset. I don’t know how to fix this problem with Makefile rules. My previous attempt was wrong not only because it didn’t work for a tarball distribution that doesn’t contain the bootstrap, bootstrap.conf, or other gnulib files, but also because it canceled the rules for rebuilding Makefile.in that automake generates.