Source: gecode
Version: 4.2.1-1
Severity: wishlist
Tags: patch sid
User: debian-powerpc...@breakpoint.cc
Usertags: powerpcspe

Hi,

gecode FTBFS on powerpcspe[1] like this:

...
g++ -I. -fcx-limited-range -fno-signaling-nans -fno-rounding-math 
-ffinite-math-only -fno-math-errno -fno-strict-aliasing  -fvisibility=hidden 
-ggdb -pipe -Wall -Wextra -fPIC -pthread -DNDEBUG -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -O3 
-D_REENTRANT -D_FORTIFY_SOURCE=2    \
        -c -o gecode/float/arithmetic.o  gecode/float/arithmetic.cpp
In file included from ./gecode/third-party/boost/numeric/interval.hpp:28:0,
                 from ./gecode/float.hh:82,
                 from ./gecode/float/arithmetic.hh:46,
                 from gecode/float/arithmetic.cpp:40:
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp: In 
function 'boost::numeric::interval<T, Policies> boost::numeric::pow(const 
boost::numeric::interval<T, Policies>&, int) [with T = double, Policies = 
boost::numeric::interval_lib::policies<boost::numeric::interval_lib::save_state<Gecode::Float::Rounding>,
 boost::numeric::interval_lib::checking_strict<double> >]':
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:41:56:
 error: impossible constraint in 'asm'
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:44:50:
 error: impossible constraint in 'asm'
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:41:56:
 error: impossible constraint in 'asm'
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:41:56:
 error: impossible constraint in 'asm'
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:41:56:
 error: impossible constraint in 'asm'
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:41:56:
 error: impossible constraint in 'asm'
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:44:50:
 error: impossible constraint in 'asm'
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:41:56:
 error: impossible constraint in 'asm'
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:41:56:
 error: impossible constraint in 'asm'
./gecode/third-party/boost/numeric/interval/interval.hpp:22: confused by 
earlier errors, bailing out
Preprocessed source stored into /tmp/cc15vljH.out file, please attach this to 
your bugreport.
make[2]: *** [gecode/float/arithmetic.o] Error 1
make[2]: Leaving directory `/«PKGBUILDDIR»'
make[1]: *** [compilelib] Error 2
make[1]: Leaving directory `/«PKGBUILDDIR»'
...

Attaching a patch that fixes it.

Roland

[1] https://wiki.debian.org/PowerPCSPEPort

-- System Information:
Debian Release: 7.0
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: powerpcspe (ppc)

Kernel: Linux 3.9.0-dirty (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Index: gecode-4.2.1/gecode/third-party/boost/numeric/interval/hw_rounding.hpp
===================================================================
--- gecode-4.2.1.orig/gecode/third-party/boost/numeric/interval/hw_rounding.hpp	2013-11-20 23:17:27.000000000 +0100
+++ gecode-4.2.1/gecode/third-party/boost/numeric/interval/hw_rounding.hpp	2013-11-21 09:38:46.715734335 +0100
@@ -22,7 +22,9 @@
 #elif defined(__i386__) || defined(_M_IX86) || defined(__BORLANDC__) || defined(_M_X64)
 #  include <gecode/third-party/boost/numeric/interval/detail/x86_rounding_control.hpp>
 #elif defined(powerpc) || defined(__powerpc__) || defined(__ppc__)
+#ifndef __NO_FPRS__
 #  include <gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp>
+#endif
 #elif defined(sparc) || defined(__sparc__)
 #  include <gecode/third-party/boost/numeric/interval/detail/sparc_rounding_control.hpp>
 #elif defined(alpha) || defined(__alpha__)

Reply via email to