[Xapian-tickets] [Xapian] #704: Support flex 2.6.X
Xapian
nobody at xapian.org
Sun Jan 10 18:52:56 GMT 2016
#704: Support flex 2.6.X
-------------------------------------+-------------------------------
Reporter: ususdei | Owner: olly
Type: defect | Status: assigned
Priority: normal | Milestone: 1.3.x
Component: Build system | Version: git master
Severity: normal | Resolution:
Keywords: bootstrap doxygen build | Blocked By:
Blocking: | Operating System: All
-------------------------------------+-------------------------------
Changes (by olly):
* status: new => assigned
Comment:
Thanks for the report and for the patch.
> Unfortunately the doxygen project migrated from autotools to cmake with
1.8.10.
I think it was actually a hand-written `configure` shell script before,
but the end result is the same.
Requiring `cmake` to be installed is annoying, and in the short term would
stop the snapshots from building (as it isn't installed on the machine
that does those currently, though I can request it be installed). It also
isn't installed on either of the two machines I do Xapian development on,
which may be a skewed sample, but clearly `cmake` isn't a tool you can
just assume people already have installed.
It might also be prudent to check the output from the newer `doxygen`, as
we've had to adjust things to suit newer versions before.
So for now I've just added a patch to apply to 1.8.8 which should fix the
bad version checks to work for flex 2.6 (in
[82e25f97e5da59d3ad7fa8c05b5788debccc1d4e]). This version isn't packaged
for debian yet, so I can't easily test - please report back if it works or
not.
That's clearly just a short term fix though - we can't stick with an old
`doxygen` indefinitely, and we'll need to address this when we switch to a
version which uses `cmake`.
Thoughts on what to do:
* Require `cmake` to be installed.
* Download and compile `cmake` if needed - fortunately that doesn't seem
to require `cmake` to be installed, but it is more bootstrap stuff to
maintain, and it doesn't fit in the category of the other tools we do this
for - those all affect the built tarball, so using specified versions
gives better reproducibility.
* Don't download and build a specified version of `doxygen`, but just
require it to be installed - that's one extra prerequisite, but then you
don't need `bison`, `flex` or `cmake`, so it's really a win in that
regard. It would also reduce the time taken to get Xapian built from a
git checkout. And it's one less thing to have to look after in bootstrap.
This does mean that a newer version of doxygen could break output
formatting, but we don't install particular versions of the other tools
for building the docs, such as `sphinx`, `docutils`, `help2man`,
`graphviz`, `pngcrush` (though we've not suffered from any of those
producing broken output).
I think I'm leaning towards the last of these options.
--
Ticket URL: <http://trac.xapian.org/ticket/704#comment:1>
Xapian <http://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list