Discussion:
Bug#983091: xapian-core FTBFS on i386: test failure
Add Reply
Adrian Bunk
2021-02-19 09:40:01 UTC
Reply
Permalink
Source: xapian-core
Version: 1.4.18-2
Severity: serious
Tags: ftbfs patch

https://buildd.debian.org/status/fetch.php?pkg=xapian-core&arch=i386&ver=1.4.18-2&stamp=1613459435&raw=0

...
========================================
1 of 4 tests failed
Please report to https://xapian.org/bugs
========================================
make[6]: *** [Makefile:1070: check-TESTS] Error 1


With the old debian/rules the test was only run with
the SSE build.

If exact results are required and the x87 excess precision is unwanted,
test with the non-SSE build can be fixed with:

--- debian/rules.old 2021-02-18 15:12:59.097207579 +0000
+++ debian/rules 2021-02-18 15:13:51.537168694 +0000
@@ -51,6 +51,10 @@

export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

+ifneq (,$(filter $(DEB_HOST_ARCH), i386 m68k))
+ export DEB_CXXFLAGS_MAINT_APPEND += -ffloat-store
+endif
+
# For i386 and *-i386.
ifeq ($(patsubst %-i386,i386,$(DEB_HOST_ARCH)), i386)
XAPIAN_BUILD_SSE := 1
Olly Betts
2021-02-20 20:00:02 UTC
Reply
Permalink
Post by Adrian Bunk
With the old debian/rules the test was only run with
the SSE build.
If exact results are required and the x87 excess precision is unwanted,
--- debian/rules.old 2021-02-18 15:12:59.097207579 +0000
+++ debian/rules 2021-02-18 15:13:51.537168694 +0000
@@ -51,6 +51,10 @@
export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+ifneq (,$(filter $(DEB_HOST_ARCH), i386 m68k))
+ export DEB_CXXFLAGS_MAINT_APPEND += -ffloat-store
+endif
+
# For i386 and *-i386.
ifeq ($(patsubst %-i386,i386,$(DEB_HOST_ARCH)), i386)
XAPIAN_BUILD_SSE := 1
Thanks for the report, and for tracking this down to excess precision.

The upstream code is meant to address excess precision in the small
number of places where it matters but I guess there's a newer instance
that hasn't been caught before, or a newer testcase uncovers an existing
problem (or perhaps newer GCC optimises differently and that's uncovered
this.)

The SSE2 build will get used by more i386 systems, so the overhead
from -ffloat-store won't affect many there at least, but it is a bit of
heavy hammer. I'll take a look and see if I can fix this in a more
targetted way. If not applying this for bullseye seems reasonable.
Or we could change the tests back to run just for the SSE2 build for
now - in real world use exact results are rarely a requirement, but
performance often is.

Cheers,
Olly
Debian Bug Tracking System
2021-02-23 19:40:02 UTC
Reply
Permalink
Your message dated Tue, 23 Feb 2021 19:33:39 +0000
with message-id <E1lEdRD-0007yL-***@fasolo.debian.org>
and subject line Bug#983091: fixed in xapian-core 1.4.18-3
has caused the Debian Bug report #983091,
regarding xapian-core FTBFS on i386: test failure
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ***@bugs.debian.org
immediately.)
--
983091: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983091
Debian Bug Tracking System
Contact ***@bugs.debian.org with problems
Adrian Bunk
2021-02-23 20:30:01 UTC
Reply
Permalink
...
As you note, on i386 the test was only run with the SSE build before
the recent debian/rules modernisation, but that doesn't explain why
m68k now fails. Looking at older m68k logs, it seems the testsuite
wasn't being run, though I'm not seeing why not.
...
m68k and sh4 are building with nocheck.

nocheck handling was lost in the debian/rules rewrite.
Cheers,
Olly
cu
Adrian
Olly Betts
2021-02-24 05:30:01 UTC
Reply
Permalink
Post by Adrian Bunk
...
As you note, on i386 the test was only run with the SSE build before
the recent debian/rules modernisation, but that doesn't explain why
m68k now fails. Looking at older m68k logs, it seems the testsuite
wasn't being run, though I'm not seeing why not.
...
m68k and sh4 are building with nocheck.
nocheck handling was lost in the debian/rules rewrite.
I dropped that handling as I thought dh_auto_test now handled it by
default, but checking the docs I see that is only on in compat level 13
and up (which I avoided to aid backporting.)

Thanks for the pointer.

Cheers,
Olly

Loading...