[Bug 196127] New: Fix math/qhull build with clang 3.5.0
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Dec 19 14:33:26 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196127
Bug ID: 196127
Summary: Fix math/qhull build with clang 3.5.0
Product: Ports Tree
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Many People
Priority: ---
Component: Individual Port(s)
Assignee: stephen at FreeBSD.org
Reporter: dim at FreeBSD.org
Assignee: stephen at FreeBSD.org
Flags: maintainer-feedback?(stephen at FreeBSD.org)
Created attachment 150764
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=150764&action=edit
Fix math/qhull build with clang 3.5.0
The math/qhull port fails to compile with clang 3.5.0, due to the following
error:
In file included from
/wrkdirs/usr/ports/math/qhull/work/qhull-2012.1/src/libqhullcpp/Coordinates.cpp:11:
/wrkdirs/usr/ports/math/qhull/work/qhull-2012.1/src/libqhullcpp/Coordinates.h:154:22:
error: reference to 'random_access_iterator_tag' is ambiguous
typedef std::random_access_iterator_tag iterator_category;
^
/usr/include/c++/v1/iterator:354:30: note: candidate found by name lookup is
'std::__1::random_access_iterator_tag'
struct _LIBCPP_TYPE_VIS_ONLY random_access_iterator_tag : public
bidirectional_iterator_tag {};
^
/wrkdirs/usr/ports/math/qhull/work/qhull-2012.1/src/libqhullcpp/QhullIterator.h:20:59:
note: candidate found by name lookup is 'std::random_access_iterator_tag'
namespace std { struct bidirectional_iterator_tag; struct
random_access_iterator_tag; }
^
In file included from
/wrkdirs/usr/ports/math/qhull/work/qhull-2012.1/src/libqhullcpp/Coordinates.cpp:11:
/wrkdirs/usr/ports/math/qhull/work/qhull-2012.1/src/libqhullcpp/Coordinates.h:201:22:
error: reference to 'random_access_iterator_tag' is ambiguous
typedef std::random_access_iterator_tag iterator_category;
^
/usr/include/c++/v1/iterator:354:30: note: candidate found by name lookup is
'std::__1::random_access_iterator_tag'
struct _LIBCPP_TYPE_VIS_ONLY random_access_iterator_tag : public
bidirectional_iterator_tag {};
^
/wrkdirs/usr/ports/math/qhull/work/qhull-2012.1/src/libqhullcpp/QhullIterator.h:20:59:
note: candidate found by name lookup is 'std::random_access_iterator_tag'
namespace std { struct bidirectional_iterator_tag; struct
random_access_iterator_tag; }
^
2 errors generated.
This is because qhull tries to avoid including <iterator>, and rolls its own
(incompatible) std::random_access_iterator_tag and
std::bidrectional_iterator_tag. These are not full compatible with libc++'s
own declarations, and clang 3.5.x has become more strict about matching them.
The fix is to replace the hand-rolled declarations with #include <iterator>
statements. This will work for any C++ standard library.
--- Comment #1 from Bugzilla Automation <bugzilla at FreeBSD.org> ---
Auto-assigned to maintainer stephen at FreeBSD.org
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list