Bug#890633: caps: FTBFS with glibc 2.27: error: 'pow10f' was not declared in this scope

Aurelien Jarno aurel32 at debian.org
Fri Feb 16 23:31:29 GMT 2018


Package: caps
Version: 0.9.24-4
Severity: important
Tags: patch
User: debian-glibc at 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.
-------------- next part --------------
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
-------------- next part --------------
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


More information about the pkg-multimedia-maintainers mailing list