Bug#890634: eq10q: FTBFS with glibc 2.27: error: 'pow10' was not declared in this scope
Aurelien Jarno
aurel32 at debian.org
Fri Feb 16 23:48:03 GMT 2018
Package: eq10q
Version: 2.2~repack0-2
Severity: important
Tags: patch
User: debian-glibc at lists.debian.org
Usertags: 2.27
eq10q 2.2~repack0-2 fails to build with glibc 2.27 (2.27-0experimental0 from
experimental):
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp: In member function 'virtual void PlotEQCurve::resetCenterSpan()':
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:197:31: error: 'pow10' was not declared in this scope
| double cn = MIN_FREQ * sqrt(pow10(sp));
| ^~~~~
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:197:31: note: suggested alternative: 'powl'
| double cn = MIN_FREQ * sqrt(pow10(sp));
| ^~~~~
| powl
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp: In member function 'virtual void PlotEQCurve::setCenterSpan(double, double)':
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:203:29: error: 'pow10' was not declared in this scope
| m_minFreq = center / sqrt(pow10(span));
| ^~~~~
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:203:29: note: suggested alternative: 'powl'
| m_minFreq = center / sqrt(pow10(span));
| ^~~~~
| powl
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp: In member function 'virtual void PlotEQCurve::setCenter(double)':
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:249:33: error: 'pow10' was not declared in this scope
| double cmin = MIN_FREQ * sqrt(pow10(sp));
| ^~~~~
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:249:33: note: suggested alternative: 'powl'
| double cmin = MIN_FREQ * sqrt(pow10(sp));
| ^~~~~
| powl
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp: In member function 'virtual void PlotEQCurve::setSpan(double)':
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:262:32: error: 'pow10' was not declared in this scope
| double cn = m_minFreq * sqrt(pow10(sp_act));
| ^~~~~
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:262:32: note: suggested alternative: 'powl'
| double cn = m_minFreq * sqrt(pow10(sp_act));
| ^~~~~
| powl
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp: In member function 'void PlotEQCurve::recomputeCenterFreq(double)':
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:309:27: error: 'pow10' was not declared in this scope
| double cn = fmin * sqrt(pow10(sp_act));
| ^~~~~
| /<<PKGBUILDDIR>>/gui/widgets/bodeplot.cpp:309:27: note: suggested alternative: 'powl'
| double cn = fmin * sqrt(pow10(sp_act));
| ^~~~~
| powl
| make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| [ 87%] Built target bassup_gui
| gui/widgets/CMakeFiles/eqwin.dir/build.make:257: recipe for target 'gui/widgets/CMakeFiles/eqwin.dir/bodeplot.cpp.o' failed
| make[3]: *** [gui/widgets/CMakeFiles/eqwin.dir/bodeplot.cpp.o] Error 1
A full build logs is available there:
http://aws-logs.debian.net/2018/02/07/glibc-exp/eq10q_2.2~repack0-2_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.
-------------- next part --------------
diff -Nru eq10q-2.2~repack0/debian/patches/05-pow10.patch eq10q-2.2~repack0/debian/patches/05-pow10.patch
--- eq10q-2.2~repack0/debian/patches/05-pow10.patch
+++ eq10q-2.2~repack0/debian/patches/05-pow10.patch
@@ -0,0 +1,73 @@
+Description: Replace deprecated pow10 by exp10.
+Author: Aurelien Jarno <aurel32 at debian.org>
+Forwarded: no
+
+--- eq10q-2.2~repack0.orig/gui/widgets/bandctl.cpp
++++ eq10q-2.2~repack0/gui/widgets/bandctl.cpp
+@@ -949,7 +949,7 @@ bool BandCtl::parseBtnString(BandCtl::Bu
+ if(str_k.length() > 0)
+ {
+ val_k = atof(str_k.c_str()) * 1e3;
+- val *= pow10(3.0 - str.length());
++ val *= exp10(3.0 - str.length());
+ if(str.length() > 3)
+ {
+ //throw an error, imposible to match str > 3 with k
+@@ -960,7 +960,7 @@ bool BandCtl::parseBtnString(BandCtl::Bu
+ }
+ if(str_d.length() > 0)
+ {
+- val_d = atof(str_d.c_str())/ pow10((double)str_d.length());
++ val_d = atof(str_d.c_str())/ exp10((double)str_d.length());
+ }
+
+ btn->value = val + val_k + val_d;
+--- eq10q-2.2~repack0.orig/gui/widgets/bodeplot.cpp
++++ eq10q-2.2~repack0/gui/widgets/bodeplot.cpp
+@@ -194,14 +194,14 @@ void PlotEQCurve::resetCenterSpan()
+ {
+ //Compute center and span for the full range spectrum
+ double sp = log10(MAX_FREQ/MIN_FREQ);
+- double cn = MIN_FREQ * sqrt(pow10(sp));
++ double cn = MIN_FREQ * sqrt(exp10(sp));
+ setCenterSpan(cn, sp);
+ }
+
+ void PlotEQCurve::setCenterSpan(double center, double span)
+ {
+- m_minFreq = center / sqrt(pow10(span));
+- m_maxFreq = center * sqrt(pow10(span));
++ m_minFreq = center / sqrt(exp10(span));
++ m_maxFreq = center * sqrt(exp10(span));
+
+ //Initalize the grid
+ const double f_grid[GRID_VERTICAL_LINES] = {20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0,
+@@ -246,8 +246,8 @@ void PlotEQCurve::setCenter(double cente
+ {
+ //Limit center to the possible range according the current span
+ double sp = log10(m_maxFreq/m_minFreq);
+- double cmin = MIN_FREQ * sqrt(pow10(sp));
+- double cmax = MAX_FREQ / sqrt(pow10(sp));
++ double cmin = MIN_FREQ * sqrt(exp10(sp));
++ double cmax = MAX_FREQ / sqrt(exp10(sp));
+
+ double cn = center;
+ cn = cn > cmax ? cmax : cn;
+@@ -259,7 +259,7 @@ void PlotEQCurve::setSpan(double span)
+ {
+ //Limit center to the possible range according the current span
+ double sp_act = log10(m_maxFreq/m_minFreq);
+- double cn = m_minFreq * sqrt(pow10(sp_act));
++ double cn = m_minFreq * sqrt(exp10(sp_act));
+ double smax1 = 2.0*log10(cn/MIN_FREQ);
+ double smax2= 2.0*log10(MAX_FREQ/cn);
+ double smax = smax1 < smax2 ? smax1 : smax2;
+@@ -306,7 +306,7 @@ void PlotEQCurve::recomputeCenterFreq(do
+ double fmax = MIN_FREQ*pow((MAX_FREQ/MIN_FREQ),((local_x2 + 3.5)/((double)m_zoom_surface_ptr->get_width())));
+
+ double sp_act = log10(fmax/fmin);
+- double cn = fmin * sqrt(pow10(sp_act));
++ double cn = fmin * sqrt(exp10(sp_act));
+ setCenter(cn);
+ }
+
diff -Nru eq10q-2.2~repack0/debian/patches/series eq10q-2.2~repack0/debian/patches/series
--- eq10q-2.2~repack0/debian/patches/series
+++ eq10q-2.2~repack0/debian/patches/series
@@ -2,3 +2,4 @@
02-remove_sse_flags.patch
03-fix_flags.patch
04-spelling.patch
+05-pow10.patch
More information about the pkg-multimedia-maintainers
mailing list