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. -- ⢀⣴⠾⠻⢶⣦ Sébastien Villemot ⣾⠁⢠⠒⠀⣿⡁ Debian Developer ⢿⡄⠘⠷⠚⠋⠀ http://sebastien.villemot.name ⠈⠳⣄ http://www.debian.org
signature.asc
Description: PGP signature