Your message dated Sun, 15 Sep 2019 22:11:43 -0400
with message-id
<CAAajCMbZsc6yrSLeykBwYFzoz6wM2=APEN2q4L9oz=hyy1u...@mail.gmail.com>
and subject line Re: babl FTBFS on Alpha: misuse of -Ofast with non-finite
floating point
has caused the Debian Bug report #903758,
regarding babl FTBFS on Alpha: misuse of -Ofast with non-finite floating point
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 [email protected]
immediately.)
--
903758: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903758
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: babl
Version: 0.1.50-1
Severity: important
Justification: failed to build from source (but built in the past)
Tags: patch
User: [email protected]
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
--- a/configure.ac
+++ b/configure.ac
@@ -136,6 +136,9 @@
WEBSITE_LOCATION=public_html/babl/
AC_SUBST(WEBSITE_LOCATION)
+AC_ARG_ENABLE([ofast],
+ [ --disable-ofast disable use of -Ofast (default=no)],,
+ enable_ofast="yes")
if eval "test x$GCC = xyes"; then
case " $CFLAGS " in
@@ -161,8 +164,13 @@
BABL_DETECT_CFLAGS(extra_warnings, '-Wold-style-definition')
CFLAGS="$CFLAGS $extra_warnings"
-BABL_DETECT_CFLAGS(extra_warnings, '-Ofast' )
-CFLAGS="$CFLAGS $extra_warnings"
+if test "x$enable_ofast" = xyes; then
+ BABL_DETECT_CFLAGS(extra_warnings, '-Ofast' )
+ CFLAGS="$CFLAGS $extra_warnings"
+else
+ BABL_DETECT_CFLAGS(extra_warnings, '-O3' )
+ CFLAGS="$CFLAGS $extra_warnings"
+fi
fi
--- babl-0.1.50/debian/rules 2018-05-21 14:36:01.000000000 +1200
+++ babl-0.1.50+alpha/debian/rules 2018-07-14 21:14:49.322785083 +1200
@@ -10,6 +10,12 @@
sse_flags := --enable-mmx --enable-sse --enable-sse2
endif
+# Disable use of -Ofast (thus -ffath-math) on Alpha
+ofast_flags :=
+ifeq ($(DEB_HOST_ARCH_CPU),alpha)
+ ofast_flags := --disable-ofast
+endif
+
%:
dh $@ --with gnome
@@ -20,7 +26,8 @@
dh_auto_configure -- \
$(sse_flags) \
--disable-sse4_1 \
- --disable-f16c
+ --disable-f16c \
+ $(ofast_flags)
override_dh_install:
find debian/tmp -name '*.la' -print -delete
--- End Message ---
--- Begin Message ---
Version: 0.1.54-1
babl builds on alpha now:
https://buildd.debian.org/status/logs.php?pkg=babl&arch=alpha
Thanks,
Jeremy Bicha
--- End Message ---