[Bug 209094] science/veusz: Fix build with libc++ 3.8.0

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Apr 27 12:03:32 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209094

            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 at FreeBSD.org
          Reporter: dim at FreeBSD.org
                CC: devel at stasyan.com
                CC: devel at stasyan.com
             Flags: maintainer-feedback?(devel at stasyan.com)

Created attachment 169753
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=169753&action=edit
Use plain isfinite() in science/veusz

During the exp-run in bug 208158, it was found that science/veusz gives errors
with libc++ 3.8.0 [1]:

veusz/helpers/src/qtloops/qtloops.cpp:354:10: error: no member named 'isfinite'
in namespace 'std'; did you mean simply 'isfinite'?
          if( ! isFinite(val) )
                ^~~~~~~~~~~~~
veusz/helpers/src/qtloops/isnan.h:58:24: note: expanded from macro 'isFinite'
# define isFinite(_a) (std::isfinite(_a))
                       ^~~~~

This is because the file includes <math.h>, not <cmath>, and the isnan.h header
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 <cmath>.

Fix this by letting isnan.h always use the plain isfinite() for FreeBSD.  This
is similar to how it always selects the plain isnan() for FreeBSD, just above
that definition.

[1]
http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-03-22_18h30m05s/logs/errors/veusz-1.19.1_2.log

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list