Re: qhull6.3.1-2012.1-3 broken on Xcode 6.3's Apple Clang 6.1
Jack Howarth <[email protected]>
| Newsgroups | gmane.os.apple.fink.devel |
|---|---|
| Message-ID | <CAP5Ds0CKEvRROKhMuhFVa97+=XafLDkogUvBMtEL+1ev4_-4MQ@mail.gmail.com> |
The attached packaging for qhull6.3.1 adds the patch from
https://svnweb.freebsd.org/ports?view=revision&revision=374949 and
passes 'fink -m' against Xcode 6.3 on 10.10.
Jack
On Sat, Apr 11, 2015 at 8:48 AM, Jack Howarth <[email protected]> wrote:
> The new Xcode 6.3's Apple Clang 6.1 compiler breaks the build of
> qhull6.3.1-2012.1-3.
>
> g++ -c -O2 -Dqh_QHpointer -Isrc/ -Isrc/libqhullcpp -Isrc/libqhull
> -Wall -Wcast-qual -Wextra -Wwrite-strings -Wshadow -Wconversion -o
> src/user_eg3/user_eg3.o src/user_eg3/user_eg3.cpp
> ...
> src/libqhullcpp/Coordinates.h:154:22: error: reference to
> 'random_access_iterator_tag' is ambiguous
> typedef std::random_access_iterator_tag iterator_category;
> ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:353: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 {};
> ^
> 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 src/user_eg3/user_eg3.cpp:3:
> In file included from src/libqhullcpp/RboxPoints.h:12:
> In file included from src/libqhullcpp/QhullPoint.h:15:
> src/libqhullcpp/Coordinates.h:201:22: error: reference to
> 'random_access_iterator_tag' is ambiguous
> typedef std::random_access_iterator_tag iterator_category;
> ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:353: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 {};
> ^
> 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 src/user_eg3/user_eg3.cpp:3:
> In file included from src/libqhullcpp/RboxPoints.h:12:
> In file included from src/libqhullcpp/QhullPoint.h:15:
> src/libqhullcpp/Coordinates.h:84:66: warning: implicit conversion
> changes signedness: 'int' to 'size_type' (aka 'unsigned long')
> [-Wsign-conversion]
> coordT &at(int idx) { return coordinate_array.at(idx); }
> ~~~~~~~~~~~~~~~~ ^~~
> src/libqhullcpp/Coordinates.h:85:72: warning: implicit conversion
> changes signedness: 'int' to 'size_type' (aka 'unsigned long')
> [-Wsign-conversion]
> const coordT &at(int idx) const { return coordinate_array.at(idx); }
> ~~~~~~~~~~~~~~~~ ^~~
> src/libqhullcpp/Coordinates.h:95:81: warning: implicit conversion
> changes signedness: 'int' to 'size_type' (aka 'unsigned long')
> [-Wsign-conversion]
> coordT &operator[](int idx) { return
> coordinate_array.operator[](idx); }
> ~~~~~~~~~~~~~~~~
> ^~~
> gcc -c -Dqh_QHpointer -O2 -fPIC -ansi -fno-common -Isrc/libqhull -Wall
> -Wcast-qual -Wextra -Wwrite-strings -Wshadow -o
> src/libqhullstaticp/qset.o src/libqhull/qset.c
> src/libqhullcpp/Coordinates.h:96:87: warning: implicit conversion
> changes signedness: 'int' to 'size_type' (aka 'unsigned long')
> [-Wsign-conversion]
> const coordT &operator[](int idx) const { return
> coordinate_array.operator[](idx); }
>
> ~~~~~~~~~~~~~~~~ ^~~
> src/libqhullcpp/Coordinates.h:132:67: warning: implicit conversion
> changes signedness: 'int' to 'size_type' (aka 'unsigned long')
> [-Wsign-conversion]
> void reserve(int i) { coordinate_array.reserve(i); }
> ~~~~~~~~~~~~~~~~ ^
> In file included from src/user_eg3/user_eg3.cpp:3:
> In file included from src/libqhullcpp/RboxPoints.h:13:
> In file included from src/libqhullcpp/PointCoordinates.h:12:
> src/libqhullcpp/QhullPoints.h:123:22: error: reference to
> 'random_access_iterator_tag' is ambiguous
> typedef std::random_access_iterator_tag iterator_category;
> ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:353: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 {};
> ^
> 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 src/user_eg3/user_eg3.cpp:3:
> In file included from src/libqhullcpp/RboxPoints.h:13:
> In file included from src/libqhullcpp/PointCoordinates.h:12:
> src/libqhullcpp/QhullPoints.h:166:22: error: reference to
> 'random_access_iterator_tag' is ambiguous
> typedef std::random_access_iterator_tag iterator_category;
> ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:353: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 {};
> ^
> 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 src/user_eg3/user_eg3.cpp:3:
> In file included from src/libqhullcpp/RboxPoints.h:13:
> In file included from src/libqhullcpp/PointCoordinates.h:12:
> src/libqhullcpp/QhullPoints.h:80:100: warning: implicit conversion
> changes signedness: 'long' to 'unsigned long' [-Wsign-conversion]
> int extraCoordinatesCount() const { return
> point_dimension>0 ?
> (int)((point_end-point_first)%(size_t)point_dimension) : 0; } //
> WARN64
>
> ~~~~~~~~~^~~~~~~~~~~~ ~
> src/libqhullcpp/QhullPoints.h:86:89: warning: operand of ? changes
> signedness: 'long' to 'size_t' (aka 'unsigned long')
> [-Wsign-conversion]
> size_t size() const { return (point_dimension ?
> (point_end-point_first)/point_dimension : 0); }
> ~~~~~~
> ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
> gcc -c -Dqh_QHpointer -O2 -fPIC -ansi -fno-common -Isrc/libqhull -Wall
> -Wcast-qual -Wextra -Wwrite-strings -Wshadow -o
> src/libqhullstaticp/mem.o src/libqhull/mem.c
> In file included from src/user_eg3/user_eg3.cpp:6:
> In file included from src/libqhullcpp/QhullFacet.h:15:
> src/libqhullcpp/QhullSet.h:81:47: warning: implicit conversion changes
> signedness: 'int' to 'size_t' (aka 'unsigned long')
> [-Wsign-conversion]
> size_t size() const { return count(); }
> ~~~~~~ ^~~~~~~
> In file included from src/user_eg3/user_eg3.cpp:6:
> In file included from src/libqhullcpp/QhullFacet.h:16:
> src/libqhullcpp/QhullPointSet.h:122:22: error: reference to
> 'bidirectional_iterator_tag' is ambiguous
> typedef std::bidirectional_iterator_tag iterator_category;
> ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:352:30:
> note: candidate found by name lookup is
> 'std::__1::bidirectional_iterator_tag'
> struct _LIBCPP_TYPE_VIS_ONLY bidirectional_iterator_tag : public
> forward_iterator_tag {};
> ^
> src/libqhullcpp/QhullIterator.h:20:24: note: candidate found by name
> lookup is 'std::bidirectional_iterator_tag'
> namespace std { struct bidirectional_iterator_tag; struct
> random_access_iterator_tag; }
> ^
> In file included from src/user_eg3/user_eg3.cpp:6:
> In file included from src/libqhullcpp/QhullFacet.h:16:
> src/libqhullcpp/QhullPointSet.h:170:22: error: reference to
> 'random_access_iterator_tag' is ambiguous
> typedef std::random_access_iterator_tag iterator_category;
> ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:353: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 {};
> ^
> 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 src/user_eg3/user_eg3.cpp:6:
> src/libqhullcpp/QhullFacet.h:73:66: warning: operand of ? changes
> signedness: 'unsigned int' to 'int' [-Wsign-conversion]
> int id() const { return qh_facet ? qh_facet->id : -1; }
> ~~~~~~ ~~~~~~~~~~^~
> In file included from src/user_eg3/user_eg3.cpp:7:
> In file included from src/libqhullcpp/QhullFacetList.h:12:
> src/libqhullcpp/QhullLinkedList.h:118:22: error: reference to
> 'bidirectional_iterator_tag' is ambiguous
> typedef std::bidirectional_iterator_tag iterator_category;
> ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:352:30:
> note: candidate found by name lookup is
> 'std::__1::bidirectional_iterator_tag'
> struct _LIBCPP_TYPE_VIS_ONLY bidirectional_iterator_tag : public
> forward_iterator_tag {};
> ^
> src/libqhullcpp/QhullLinkedList.h:12:24: note: candidate found by name
> lookup is 'std::bidirectional_iterator_tag'
> namespace std { struct bidirectional_iterator_tag; struct
> random_access_iterator_tag; }
> ^
> src/libqhullcpp/QhullLinkedList.h:151:22: error: reference to
> 'bidirectional_iterator_tag' is ambiguous
> typedef std::bidirectional_iterator_tag iterator_category;
> ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:352:30:
> note: candidate found by name lookup is
> 'std::__1::bidirectional_iterator_tag'
> struct _LIBCPP_TYPE_VIS_ONLY bidirectional_iterator_tag : public
> forward_iterator_tag {};
> ^
> src/libqhullcpp/QhullLinkedList.h:12:24: note: candidate found by name
> lookup is 'std::bidirectional_iterator_tag'
> namespace std { struct bidirectional_iterator_tag; struct
> random_access_iterator_tag; }
> ^
> src/libqhullcpp/QhullLinkedList.h:70:61: warning: unused parameter 'l'
> [-Wunused-parameter]
> QhullLinkedList<T> &operator=(const QhullLinkedList<T> &l) {}
> ^
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Fink-devel mailing list
[email protected]
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel
qhull6.3.1.info
(application/octet-stream, 3 KB) - not displayed
qhull6.3.1.patch
(application/octet-stream, 3.4 KB)
diff -Nurd qhull-2012.1/Makefile qhull-2012.1.patched/Makefile
--- qhull-2012.1/Makefile 2012-02-19 21:55:57.000000000 -0500
+++ qhull-2012.1.patched/Makefile 2012-02-20 15:22:35.000000000 -0500
@@ -72,7 +72,7 @@
# You may build the qhull programs without using a library
# make qhullx
-DESTDIR = /usr/local
+DESTDIR = @INSTPREFIX@
BINDIR = $(DESTDIR)/bin
INCDIR = $(DESTDIR)/include
LIBDIR = $(DESTDIR)/lib
@@ -87,14 +87,15 @@
#for Gnu's gcc compiler, -O2 for optimization, -g for debugging
CC = gcc
-CC_OPTS1 = -O2 -fPIC -ansi -Isrc/libqhull $(CC_WARNINGS)
+CC_OPTS1 = -O2 -fPIC -ansi -fno-common -Isrc/libqhull $(CC_WARNINGS)
CXX = g++
# libqhullcpp must be before libqhull
CXX_OPTS1 = -O2 -Dqh_QHpointer -Isrc/ -Isrc/libqhullcpp -Isrc/libqhull $(CXX_WARNINGS)
# for shared library link
-CC_OPTS3 =
+CC_OPTS3 = -dynamiclib -install_name @FINKPREFIX@/lib/libqhull.6.3.1.dylib
+CC_OPTS4 = -dynamiclib -install_name @FINKPREFIX@/lib/libqhull_p.6.3.1.dylib
# Define qhull_VERSION in CMakeLists.txt, Makefile, and qhull-warn.pri
# Truncated version in qhull-exports.def, qhull_p-exports.def,
@@ -102,7 +103,7 @@
# qhull_p.so -- allocated qh_qhT global data structure (qh_QHpointer=1). Required for libqhullcpp
# qhull_m.so -- future version of Qhull with qh_qhT passed as an argument.
qhull_SOVERSION=6
-SO = so.6.3.1
+SO = 6.3.1.dylib
# On MinGW,
# make SO=dll
@@ -515,11 +516,11 @@
lib/libqhull.$(SO): $(LIBQHULLS_OBJS)
$(CC) -shared -o $@ $(CC_OPTS3) $^
- cd lib && ln -f -s libqhull.$(SO) libqhull.so
+ cd lib && ln -f -s libqhull.$(SO) libqhull.dylib
lib/libqhull_p.$(SO): $(LIBQHULLSP_OBJS)
- $(CC) -shared -o $@ $(CC_OPTS3) $^
- cd lib && ln -f -s libqhull_p.$(SO) libqhull_p.so
+ $(CC) -shared -o $@ $(CC_OPTS4) $^
+ cd lib && ln -f -s libqhull_p.$(SO) libqhull_p.dylib
# don't use ../qconvex. Does not work on Red Hat Linux
bin/qconvex: src/qconvex/qconvex.o lib/libqhullstatic.a
@@ -550,7 +551,7 @@
@echo -e '== "make SO=dll" and copy lib/libqhull_p.dll to bin/'
@echo -e '== If user_eg fails to link, switch to -lqhullstatic_p'
@echo -e '===================================================\n'
- $(CC) -o $@ $< -Dqh_QHpointer $(CC_OPTS1) $(CC_OPTS3) -Llib -lqhull_p -lm
+ $(CC) -o $@ $< -Dqh_QHpointer $(CC_OPTS1) -Llib -lqhull_p -lm
# You may use -lqhullstatic instead of -lqhull
bin/user_eg2: src/user_eg2/user_eg2.o lib/libqhull.$(SO)
diff -uNr qhull-2012.1.orig/src/libqhullcpp/QhullIterator.h qhull-2012.1/src/libqhullcpp/QhullIterator.h
--- qhull-2012.1.orig/src/libqhullcpp/QhullIterator.h 2012-01-25 22:32:05.000000000 -0500
+++ qhull-2012.1/src/libqhullcpp/QhullIterator.h 2015-04-11 09:04:07.000000000 -0400
@@ -16,8 +16,7 @@
#include <assert.h>
#include <string>
#include <vector>
-//! Avoid dependence on <iterator>
-namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }
+#include <iterator>
namespace orgQhull {
diff -uNr qhull-2012.1.orig/src/libqhullcpp/QhullLinkedList.h qhull-2012.1/src/libqhullcpp/QhullLinkedList.h
--- qhull-2012.1.orig/src/libqhullcpp/QhullLinkedList.h 2012-01-25 22:32:05.000000000 -0500
+++ qhull-2012.1/src/libqhullcpp/QhullLinkedList.h 2015-04-11 09:05:18.000000000 -0400
@@ -9,7 +9,7 @@
#ifndef QHULLLINKEDLIST_H
#define QHULLLINKEDLIST_H
-namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }
+#include <iterator>
#include "QhullError.h"