Date: Wed, 27 Apr 2016 12:03:30 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 209094] science/veusz: Fix build with libc++ 3.8.0 Message-ID: <bug-209094-13@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D209094 Bug ID: 209094 Summary: science/veusz: Fix build with libc++ 3.8.0 Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: freebsd-ports-bugs@FreeBSD.org Reporter: dim@FreeBSD.org CC: devel@stasyan.com CC: devel@stasyan.com Flags: maintainer-feedback?(devel@stasyan.com) Created attachment 169753 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D169753&action= =3Dedit Use plain isfinite() in science/veusz During the exp-run in bug 208158, it was found that science/veusz gives err= ors with libc++ 3.8.0 [1]: veusz/helpers/src/qtloops/qtloops.cpp:354:10: error: no member named 'isfin= ite' in namespace 'std'; did you mean simply 'isfinite'? if( ! isFinite(val) ) ^~~~~~~~~~~~~ veusz/helpers/src/qtloops/isnan.h:58:24: note: expanded from macro 'isFinit= e' # define isFinite(_a) (std::isfinite(_a)) ^~~~~ This is because the file includes <math.h>, not <cmath>, and the isnan.h he= ader checks whether isfinite() is a macro. Since it is a function in libc++, it attempts to use std::isfinite(), which is only defined if you include <cmat= h>. Fix this by letting isnan.h always use the plain isfinite() for FreeBSD. T= his is similar to how it always selects the plain isnan() for FreeBSD, just abo= ve that definition. [1] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-03-22_= 18h30m05s/logs/errors/veusz-1.19.1_2.log --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-209094-13>