Source: btanks Version: 0.9.8083-6 Severity: important Tags: patch User: debian-gl...@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.
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