Package: fmit
Version: 1.0.0-1
Severity: important
Tags: patch
User: debian-gl...@lists.debian.org
Usertags: 2.27

fmit 1.0.0-1 fails to build with glibc 2.27 (2.27-0experimental0 from
experimental):

| cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/libs/Music && /usr/bin/c++  
-DCAPTURE_ALSA -DCAPTURE_JACK -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG 
-DQT_OPENGL_LIB -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtOpenGL 
-isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtCore 
-I/<<PKGBUILDDIR>>/libs/Music/../../libs 
-I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/libs/Music  -Wall   -DPREFIX=\"/usr\" 
-DPACKAGE_NAME=\"fmit\" -DPACKAGE_VERSION=\"1.0.0\" -o 
CMakeFiles/Music.dir/Algorithm.o -c /<<PKGBUILDDIR>>/libs/Music/Algorithm.cpp
| In file included from /<<PKGBUILDDIR>>/libs/Music/Algorithm.h:28:0,
|                  from /<<PKGBUILDDIR>>/libs/Music/Algorithm.cpp:20:
| /<<PKGBUILDDIR>>/libs/Music/Music.h: In function 'double 
Music::invlp(double)':
| /<<PKGBUILDDIR>>/libs/Music/Music.h:288:16: error: 'pow10' was not declared 
in this scope
|          return pow10(value/20.0);
|                 ^~~~~
| /<<PKGBUILDDIR>>/libs/Music/Music.h:288:16: note: suggested alternative: 
'powl'
|          return pow10(value/20.0);
|                 ^~~~~
|                 powl
| libs/Music/CMakeFiles/Music.dir/build.make:65: recipe for target 
'libs/Music/CMakeFiles/Music.dir/Algorithm.o' failed
| make[3]: *** [libs/Music/CMakeFiles/Music.dir/Algorithm.o] Error 1
| make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| CMakeFiles/Makefile2:88: recipe for target 
'libs/Music/CMakeFiles/Music.dir/all' failed
| make[2]: *** [libs/Music/CMakeFiles/Music.dir/all] Error 2
| make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| Makefile:154: recipe for target 'all' failed
| make[1]: *** [all] Error 2
| make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| dh_auto_build: cd obj-x86_64-linux-gnu && make -j1 returned exit code 2
| debian/rules:11: recipe for target 'build-arch' failed
| make: *** [build-arch] Error 2
| dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit 
status 2cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/libs/Music && /usr/bin/c++  
-DCAPTURE_ALSA -DCAPTURE_JACK -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG 
-DQT_OPENGL_LIB -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtOpenGL 
-isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtCore 
-I/<<PKGBUILDDIR>>/libs/Music/../../libs 
-I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/libs/Music  -Wall   -DPREFIX=\"/usr\" 
-DPACKAGE_NAME=\"fmit\" -DPACKAGE_VERSION=\"1.0.0\" -o 
CMakeFiles/Music.dir/Algorithm.o -c /<<PKGBUILDDIR>>/libs/Music/Algorithm.cpp
| In file included from /<<PKGBUILDDIR>>/libs/Music/Algorithm.h:28:0,
|                  from /<<PKGBUILDDIR>>/libs/Music/Algorithm.cpp:20:
| /<<PKGBUILDDIR>>/libs/Music/Music.h: In function 'double 
Music::invlp(double)':
| /<<PKGBUILDDIR>>/libs/Music/Music.h:288:16: error: 'pow10' was not declared 
in this scope
|          return pow10(value/20.0);
|                 ^~~~~
| /<<PKGBUILDDIR>>/libs/Music/Music.h:288:16: note: suggested alternative: 
'powl'
|          return pow10(value/20.0);
|                 ^~~~~
|                 powl
| libs/Music/CMakeFiles/Music.dir/build.make:65: recipe for target 
'libs/Music/CMakeFiles/Music.dir/Algorithm.o' failed
| make[3]: *** [libs/Music/CMakeFiles/Music.dir/Algorithm.o] Error 1
| make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| CMakeFiles/Makefile2:88: recipe for target 
'libs/Music/CMakeFiles/Music.dir/all' failed
| make[2]: *** [libs/Music/CMakeFiles/Music.dir/all] Error 2
| make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| Makefile:154: recipe for target 'all' failed
| make[1]: *** [all] Error 2
| make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| dh_auto_build: cd obj-x86_64-linux-gnu && make -j1 returned exit code 2
| debian/rules:11: 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/fmit_1.0.0-1_unstable_glibc-exp.log

Starting with glibc 2.27, the libm function pow10 is no longer
supported for. The standard exp10 (from TS 18661-4:2015) should be used
instead. The attached patch fixes that.
diff -Nru fmit-1.0.0/debian/patches/pow10.patch 
fmit-1.0.0/debian/patches/pow10.patch
--- fmit-1.0.0/debian/patches/pow10.patch
+++ fmit-1.0.0/debian/patches/pow10.patch
@@ -0,0 +1,15 @@
+Description: Replace deprecated pow10 by exp10.
+Author: Aurelien Jarno <aure...@debian.org>
+Forwarded: no
+
+--- fmit-1.0.0.orig/libs/Music/Music.h
++++ fmit-1.0.0/libs/Music/Music.h
+@@ -285,7 +285,7 @@ namespace Music
+     // TODO cannot create a template so easily because the pow10 is not 
defined for all types
+     inline double invlp(double value)
+     {
+-        return pow10(value/20.0);
++        return exp10(value/20.0);
+ //         return pow(TYPE(10), value/TYPE(20));
+     }
+ 
diff -Nru fmit-1.0.0/debian/patches/series fmit-1.0.0/debian/patches/series
--- fmit-1.0.0/debian/patches/series
+++ fmit-1.0.0/debian/patches/series
@@ -0,0 +1 @@
+pow10.patch

Reply via email to