[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