Bug#903758: babl FTBFS on Alpha: misuse of -Ofast with non-finite floating point

Michael Cree mcree at orcon.net.nz
Sat Jul 14 11:19:22 BST 2018


Source: babl
Version: 0.1.50-1
Severity: important
Justification: failed to build from source (but built in the past)
Tags: patch
User: debian-alpha at lists.debian.org
Usertags: ftbfs

babl FTBFS on Alpha [1] with what on the surface looks like a linker error
but is actually misuse of the -Ofast compiler option.  babl unconditionally
uses the -Ofast option when compiling with gcc.  This implies
-ffast-math which the gcc manual makes clear is not compliant with
standards and on some architectures may break if used with non-finite
math.  Alpha is one of those architectures. 

If we remove -Wl,-z,defs from the linker flags specified in debian/rules
then the link succeeds on Alpha but the test suite fails with floating
point exceptions, because non-finite math is used.

I attach a patch that adds a --disable-ofast option to the configure
script so it is possible to build without -Ofast.  The second patch
is a change to debian/rules to detect if building with Alpha then
supply the --disable-ofast option when invoking configure. With these
babl builds to completion, with the test suite passing, on Alpha.

Cheers
Michael.

[1]
https://buildd.debian.org/status/fetch.php?pkg=babl&arch=alpha&ver=0.1.50-1&stamp=1526902985&raw=0
-------------- next part --------------
A non-text attachment was scrubbed...
Name: add-option-to-disable-fast-float.patch
Type: text/x-diff
Size: 748 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnome-maintainers/attachments/20180714/9f511045/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-debian-rules-to-disable-ofast-on-alpha.diff
Type: text/x-diff
Size: 601 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnome-maintainers/attachments/20180714/9f511045/attachment-0001.diff>


More information about the pkg-gnome-maintainers mailing list