Package: caps Version: 0.9.24-4 Severity: important Tags: patch User: debian-gl...@lists.debian.org Usertags: 2.27
caps 0.9.24-4 fails to build with glibc 2.27 (2.27-0experimental0 from experimental): | In file included from Cabinet.h:39:0, | from Click.cc:156: | dsp/v4f.h:74:7: note: candidate: template<float (* fn)(float)> v4f_t v4f_map(v4f_t) | v4f_t v4f_map (v4f_t x) | ^~~~~~~ | dsp/v4f.h:74:7: note: template argument deduction/substitution failed: | In file included from Cabinet.h:41:0, | from Click.cc:156: | dsp/v4f_IIR2.h:145:27: error: template argument 1 is invalid | A = v4f_map<pow10f> (A); | ^ | dsp/v4f_IIR2.h: In member function 'void DSP::IIR2v4Bank<N>::set_eq(v4f_t*, v4f_t*, v4f_t*)': | dsp/v4f_IIR2.h:432:18: error: 'pow10f' was not declared in this scope | A = v4f_map<pow10f> (A); | ^~~~~~ | dsp/v4f_IIR2.h:432:18: note: suggested alternative: 'powf' | A = v4f_map<pow10f> (A); | ^~~~~~ | powf | Makefile:59: recipe for target 'Eq.o' failed | make[1]: *** [Eq.o] Error 1 | Makefile:59: recipe for target 'CabIV.o' failed | make[1]: *** [CabIV.o] Error 1 | Makefile:59: recipe for target 'Click.o' failed | make[1]: *** [Click.o] Error 1 | make[1]: Leaving directory '/<<PKGBUILDDIR>>' | dh_auto_build: make -j16 returned exit code 2 | debian/rules:8: recipe for target 'build-arch' failed | make: *** [build-arch] Error 2 | dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2 A full build logs is available there: http://aws-logs.debian.net/2018/02/07/glibc-exp/caps_0.9.24-4_unstable_glibc-exp.log Starting with glibc 2.27, the libm function pow10f is no longer supported. The standard exp10f function (from TS 18661-4:2015) should be used instead. The attached patch fixes that.
diff -Nru caps-0.9.24/debian/patches/0002-pow10f.patch caps-0.9.24/debian/patches/0002-pow10f.patch --- caps-0.9.24/debian/patches/0002-pow10f.patch +++ caps-0.9.24/debian/patches/0002-pow10f.patch @@ -0,0 +1,29 @@ +--- caps-0.9.24.orig/dsp/v4f_IIR2.h ++++ caps-0.9.24/dsp/v4f_IIR2.h +@@ -33,7 +33,7 @@ + namespace DSP { + + #ifdef __APPLE__ +-inline float pow10f(float f) {return pow(10,f);} ++inline float exp10f(float f) {return pow(10,f);} + #endif + + class RBJv4 +@@ -142,7 +142,7 @@ class IIR2v4 + /* A = pow (10, gain / 40) */ + v4f_t A = (v4f_t) {.025,.025,.025,.025}; + A *= gain; +- A = v4f_map<pow10f> (A); ++ A = v4f_map<exp10f> (A); + + RBJv4 p (f, Q); + +@@ -429,7 +429,7 @@ class IIR2v4Bank + /* A = pow (10, gain / 40) */ + v4f_t A = (v4f_t) {.025,.025,.025,.025}; + A *= gain[i]; +- A = v4f_map<pow10f> (A); ++ A = v4f_map<exp10f> (A); + + RBJv4 p (f[i], Q[i]); + diff -Nru caps-0.9.24/debian/patches/series --- caps-0.9.24/debian/patches/series +++ caps-0.9.24/debian/patches/series @@ -1 +1,2 @@ 0001-Avoid-ambiguity-in-div-invocation.patch +0002-pow10f.patch
diff -Nru caps-0.9.24/debian/patches/0002-pow10f.patch caps-0.9.24/debian/patches/0002-pow10f.patch --- caps-0.9.24/debian/patches/0002-pow10f.patch +++ caps-0.9.24/debian/patches/0002-pow10f.patch @@ -0,0 +1,29 @@ +--- caps-0.9.24.orig/dsp/v4f_IIR2.h ++++ caps-0.9.24/dsp/v4f_IIR2.h +@@ -33,7 +33,7 @@ + namespace DSP { + + #ifdef __APPLE__ +-inline float pow10f(float f) {return pow(10,f);} ++inline float exp10f(float f) {return pow(10,f);} + #endif + + class RBJv4 +@@ -142,7 +142,7 @@ class IIR2v4 + /* A = pow (10, gain / 40) */ + v4f_t A = (v4f_t) {.025,.025,.025,.025}; + A *= gain; +- A = v4f_map<pow10f> (A); ++ A = v4f_map<exp10f> (A); + + RBJv4 p (f, Q); + +@@ -429,7 +429,7 @@ class IIR2v4Bank + /* A = pow (10, gain / 40) */ + v4f_t A = (v4f_t) {.025,.025,.025,.025}; + A *= gain[i]; +- A = v4f_map<pow10f> (A); ++ A = v4f_map<exp10f> (A); + + RBJv4 p (f[i], Q[i]); + diff -Nru caps-0.9.24/debian/patches/series --- caps-0.9.24/debian/patches/series +++ caps-0.9.24/debian/patches/series @@ -1 +1,2 @@ 0001-Avoid-ambiguity-in-div-invocation.patch +0002-pow10f.patch