On Tue, Aug 15, 2017 at 08:08:58PM +0200, Sébastien Villemot wrote: > On Thu, Aug 10, 2017 at 02:42:42PM +0300, Adrian Bunk wrote: > > On Thu, Aug 10, 2017 at 09:31:32AM +0200, Rafael Laboissière wrote: > > > > > > I would guess that the culprit is the following unit test in bwdist: > > > > > > ## The quasi-euclidean method is apparently sensitive to a machine > > > precision > > > ## error that happens in x86 systems only. This test will cause an endless > > > ## loop in case of a regression. > > >... > > > > That explains why the problem happens on i386 (where the 387 FPU > > that internally uses 80-bit precision is used) but not on amd64 > > (where gcc defaults to using SSE instead of the 387). > > > > If the problem is only in the test case, > > it should be disabled on any-i386. > > > > But if the difference is actually considered a bug, > > then the following in debian/rules fixes the problem: > > > > DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) > > > > ifneq (,$(filter $(DEB_HOST_ARCH), i386)) > > export DEB_CXXFLAGS_MAINT_APPEND=-ffloat-store > > endif > > Thanks Adrian for suggesting this solution. > > However, it should be mentioned that this option has a significant performance > cost (since it basically adds a memory access after each floating point > computation). > > I am not familiar enough with octave-image to decide whether IEEE compliance > is > more important than performance, though.
This is also what I tried to say by giving two options and "But if the difference is actually considered a bug". cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed