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

Aurelien Jarno aurel32 at debian.org
Fri Feb 16 23:29:49 UTC 2018


Source: btanks
Version: 0.9.8083-6
Severity: important
Tags: patch
User: debian-glibc at lists.debian.org
Usertags: 2.27

btanks 0.9.8083-6 fails to build with glibc 2.27 (2.27-0experimental0
from experimental):

| g++ -o build/release/clunk/source.os -c -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fvisibility-inlines-hidden -fvisibility=hidden -DGCC_HASCLASSVISIBILITY -fvisibility-inlines-hidden -fvisibility=hidden -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fvisibility=hidden -DGCC_HASCLASSVISIBILITY -fvisibility=hidden -Wall -Wno-deprecated -pedantic -Wno-long-long -pipe -pthread -fPIC -Wall -Wno-deprecated -pedantic -Wno-long-long -pipe -pthread -DUSE_GLSDL -DV3_DISABLE_Z -DRELEASE -DPREFIX="\"/usr\"" -DRESOURCES_DIR="\"/usr/share/games/btanks\"" -DPLUGINS_DIR="\"/usr/lib/btanks\"" -DCLUNKAPI=DLLEXPORT -DUSE_SIMD -D_GNU_SOURCE=1 -D_REENTRANT -I. -Ibuild/release -Ibuild/release/clunk -Iclunk -I/usr/include/SDL clunk/source.cpp
| In file included from clunk/fft_context.h:149:0,
|                  from clunk/mdct_context.h:4,
|                  from clunk/source.h:29,
|                  from clunk/source.cpp:22:
| clunk/sse_fft_context.h:42:31: warning: ignoring attributes on template argument 'clunk::sse_danielson_lanczos<N, T>::sse_type {aka __vector(4) float}' [-Wignored-attributes]
|   aligned_array<sse_type, N / 2> angle_re;
|                                ^
| clunk/sse_fft_context.h:43:31: warning: ignoring attributes on template argument 'clunk::sse_danielson_lanczos<N, T>::sse_type {aka __vector(4) float}' [-Wignored-attributes]
|   aligned_array<sse_type, N / 2> angle_im;
|                                ^
| clunk/sse_fft_context.h:125:31: warning: ignoring attributes on template argument 'clunk::fft_context<BITS, float>::sse_type {aka __vector(4) float}' [-Wignored-attributes]
|   aligned_array<sse_type, SSE_N> data_re;
|                                ^
| clunk/sse_fft_context.h:126:31: warning: ignoring attributes on template argument 'clunk::fft_context<BITS, float>::sse_type {aka __vector(4) float}' [-Wignored-attributes]
|   aligned_array<sse_type, SSE_N> data_im;
|                                ^
| clunk/source.cpp: In member function 'void clunk::Source::hrtf(int, unsigned int, clunk::Buffer&, const Sint16*, int, int, int, const float (* const&)[2][512], int)':
| clunk/source.cpp:157:13: error: 'pow10f' was not declared in this scope
|    float m = pow10f(kemar_data[kemar_idx][0][kemar_angle_idx] * v / 20);
|              ^~~~~~
| clunk/source.cpp:157:13: note: suggested alternative: 'powf'
|    float m = pow10f(kemar_data[kemar_idx][0][kemar_angle_idx] * v / 20);
|              ^~~~~~
|              powf
| scons: *** [build/release/clunk/source.os] Error 1
| scons: building terminated because of errors.
| debian/rules:9: recipe for target 'override_dh_auto_build' failed
| make[1]: *** [override_dh_auto_build] Error 2
| make[1]: Leaving directory '/<<PKGBUILDDIR>>'
| debian/rules:6: 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/btanks_0.9.8083-6_unstable_glibc-exp.log

Starting with glibc 2.27, the libm function pow10f is no longer
supported. The standard exp10f (from TS 18661-4:2015) should be used
instead. The attached patch fixes that.
-------------- next part --------------
diff -Nru btanks-0.9.8083/debian/patches/pow10f.patch btanks-0.9.8083/debian/patches/pow10f.patch
--- btanks-0.9.8083/debian/patches/pow10f.patch
+++ btanks-0.9.8083/debian/patches/pow10f.patch
@@ -0,0 +1,11 @@
+--- btanks-0.9.8083.orig/clunk/source.cpp
++++ btanks-0.9.8083/clunk/source.cpp
+@@ -30,6 +30,8 @@
+ #if defined _MSC_VER || __APPLE__ || __FreeBSD__
+ #	define pow10f(x) powf(10.0f, (x))
+ #	define log2f(x) (logf(x) / M_LN2)
++#else
++#	define pow10f(x) exp10f(x)
+ #endif
+ 
+ using namespace clunk;
diff -Nru btanks-0.9.8083/debian/patches/series btanks-0.9.8083/debian/patches/series
--- btanks-0.9.8083/debian/patches/series
+++ btanks-0.9.8083/debian/patches/series
@@ -2,3 +2,4 @@
 rename-currency-symbol.patch
 gcc-4.6.patch
 gcc-4.7.patch
+pow10f.patch


More information about the Pkg-games-devel mailing list