Compilation problem with a few configure option
Olly Betts
olly at survex.com
Fri Jun 24 13:49:29 BST 2016
On Mon, Jun 20, 2016 at 10:46:18PM +0200, Emmanuel Engelhart wrote:
> $ c++ --version
> c++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
It's not the compiler. It's just you can't currently disable remote
without disabling all chert and glass as well.
The underlying problem is there's a combinatorial explosion in the
number of combinations of backends enabled/disabled, so testing them all
regularly doesn't happen. --disable-backend-remote hasn't worked for
ages - I recently fixed things so you can build with all backends
disabled, but the combination you're trying still doesn't work (it
fails for me too).
There's an existing ticket I've updated for this case:
https://trac.xapian.org/ticket/361
> > ./configure --enable-shared --enable-static --disable-sse
> > --disable-backend-inmemory --disable-backend-remote
--disable-sse is probably a bad idea - do you really need to support x86
CPUs which predate SSE? If you can't assume SSE2 support
--enable-sse=sse will only require basic SSE.
The problem is that the pre-SSE floating point support gives excess
precision, which leads to inconsistent results and even segmentation
faults. If SSE is disabled, we try to avoid the worst issues by
forcing values to double precision in cases where we know of problems,
but there are likely more undiscovered problems, especially as
--enable-see is the default. And we don't force values to double
precision everywhere as doing so makes things very slow.
It's also a fair bit faster to use SSE on a modern CPU.
Cheers,
Olly
More information about the Xapian-discuss
mailing list