== Workarounds for Building from Mercurial ==
If building from a
mercurial clone, the source tree must first be bootstrapped. This relies on the additional GNU tools listed above. This step also requires the gnulib library to exist as a subdirectory of the Octave tree, or by passing <tt>--gnulib-srcdir</tt> to the bootstrap script . Some portability issues with gnulib on OpenBSD are currently being worked on, but once that is all worked out the version of gnulib mirrored in Octave's mercurial repository should work.
also a problem with the OpenBSD libtool package that fails to build Octave without some tweaks. After successfully running bootstrap, the <tt>build-aux/ltmain.sh</tt> shell script must be replaced with one from another system, for example from the Debian GNU/Linux libtool package.
And lastly, the versions of bison and flex available on OpenBSD are too old to work with features used by Octave. Newer versions will have to be installed, or the files produced by those tools need to be copied from another system. The files produced by bison and flex are normally distributed with the source archive, so this is only a problem with attempting to build from the Mercurial repository.