group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #10861
[Bug 1581807] Re: Define wxIsNaN() as std::isnan() in C++11 mode
This bug was fixed in the package wxwidgets3.0 - 3.0.2+dfsg-1.3ubuntu0.1
---------------
wxwidgets3.0 (3.0.2+dfsg-1.3ubuntu0.1) xenial-proposed; urgency=medium
* Define wxIsNaN() as std::isnan() in C++11 mode. This fixes the build
failure of Audacity (Closes: #824264, LP: #1581807)
-- Benjamin Drung <bdrung@xxxxxxxxxx> Tue, 03 Jan 2017 23:11:31 +0100
** Changed in: wxwidgets3.0 (Ubuntu Xenial)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1581807
Title:
Define wxIsNaN() as std::isnan() in C++11 mode
Status in wxwidgets3.0 package in Ubuntu:
Fix Released
Status in wxwidgets3.0 source package in Xenial:
Fix Released
Status in wxwidgets3.0 package in Debian:
Fix Released
Bug description:
Audacity (git master) fails to build on Ubuntu 16.04 with g++ 5.3.1:
In file included from /usr/include/wx-3.0/wx/gdicmn.h:23:0,
from /usr/include/wx-3.0/wx/utils.h:26,
from BlockFile.cpp:51:
BlockFile.cpp: In function ‘void ComputeMinMax256(float*, float*, float*, int*)’:
/usr/include/wx-3.0/wx/math.h:91:31: error: ‘isnan’ was not declared in this scope
#define wxIsNaN(x) isnan(x)
^
BlockFile.cpp:325:11: note: in expansion of macro ‘wxIsNaN’
if (wxIsNaN(summary256[3*i+2]))
^
/usr/include/wx-3.0/wx/math.h:91:31: note: suggested alternative:
#define wxIsNaN(x) isnan(x)
^
BlockFile.cpp:325:11: note: in expansion of macro ‘wxIsNaN’
if (wxIsNaN(summary256[3*i+2]))
^
In file included from /usr/include/wx-3.0/wx/math.h:58:0,
from /usr/include/wx-3.0/wx/gdicmn.h:23,
from /usr/include/wx-3.0/wx/utils.h:26,
from BlockFile.cpp:51:
/usr/include/c++/5/cmath:641:5: note: ‘std::isnan’
isnan(_Tp __x)
^
make[3]: *** [audacity-BlockFile.o] Error 1
isnan() is not defined, but std::isnan() is defined. Thus use
std::isnan() for all C++11 compilers, since isnan() is part of C++11.
The fix was accepted upstream:
https://github.com/wxWidgets/wxWidgets/pull/283
[Test Case]
1) Create a git recipe in /tmp/bug-1581807.recipe with following
content:
# git-build-recipe format 0.4 deb-version {debupstream}+git{revdate}+r{revno}+{revno:packaging}
lp:audacity f1909cb88e0fa4ecc589e715384b90d8bbfe55e6
merge packaging lp:~audacity-team/audacity/+git/packaging daily-xenial
2) Build a audacity source package:
git-build-recipe --allow-fallback-to-native /tmp/bug-1581807.recipe
/tmp/audacity
3) Build the source package on xenial (for example with sbuild):
sbuild -d xenial /tmpfs/audacity_2.1.2+git20160516+r4250+17.dsc
4) You will experience the build failure described above with the
unpatched wxwidgets. The build will succeed with the wxwidget patch.
[Regression Potential]
The patch changes C preprocessor definition (and not the run-time).
Thus it could break source builds that use wxwidgts as library.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/wxwidgets3.0/+bug/1581807/+subscriptions