On 18.01.2013 18:48 (UTC+2), Greg Larkin wrote: > On 1/18/13 12:00 PM, Rainer Hurling wrote: >> On 18.01.2013 08:37 (UTC+2), Vasil Dimov wrote: >>> On Thu, Jan 17, 2013 at 16:34:59 -0600, ajtiM wrote: >>>> My system: 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243826: Tue Dec >>>> 4 06:55:39 UTC 2012 >>>> r...@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >>>> >>>> clang -v: FreeBSD clang version 3.1 (branches/release_31 >>>> 156863) 20120523 Target: i386-unknown-freebsd9.0 Thread model: >>>> posix >>>> >>>> I try to update hugin (Chase OpenEXR lib update) with clang but >>>> I got an error: >>>> >>>> >>>> In file included from >>>> /usr/ports/graphics/hugin/work/hugin-2011.4.0/src/foreign/zthread/src/vanilla/SimpleAtomicCount.cxx:26: >>>> >>>> > /usr/ports/graphics/hugin/work/hugin-2011.4.0/src/foreign/zthread/src/../include/zthread/Guard.h:117:9: > >>>> error: void function 'createScope' should not return a value >>>> [-Wreturn-type] return false; ^ ~~~~~ >>>> /usr/ports/graphics/hugin/work/hugin-2011.4.0/src/foreign/zthread/src/../include/zthread/Guard.h:121:5: >>>> error: void function 'createScope' should not return a value >>>> [-Wreturn-type] return true; ^ ~~~~ 2 errors generated. >>>> *** >>>> [src/foreign/zthread/src/CMakeFiles/ZThread.dir/AtomicCount.cxx.o] >>>> Error code 1 >>> [...] >>> >>> Hello, >>> >>> Do you have >>> >>> CC=clang CXX=clang++ CPP=clang-cpp >>> >>> in your environment, e.g. /etc/make.conf ? >>> >>> hugin does not seem to compile with clang. I fixed the above >>> error but a set of another ones spills out. >>> >>> Can you try the attached patch which should force it to compile >>> with gcc and confirm whether it fixes the problem for you? > >> Hi Vasil, > >> thanks for the patch for Makefile and >> src/foreign/flann/util/logger.h. Both works nice for me on recent >> 10.0-CURRENT amd64. > >> With USE_GCC=yes the patch uses lang/gcc46. Isn't USE_GCC=any also >> sufficient, so we can use systems compiler gcc-4.2.1, if present? > >> Rainer > >>> The clang compilation issues would better be addressed with the >>> hugin authors. >>> > > > > Hi all,
hi Greg, > The build with clang dies inside of the zthread code included in the > hugin distro, and I wonder if it would be fixed with the same patch > that I committed to the devel/zthread port this week? very nice idea and problably the right one. > Here is the patch file for zthread's Guard.h file: > > http://svnweb.freebsd.org/ports/head/devel/zthread/files/patch-include__zthread__Guard.h?revision=310556&view=co I just tried your patch on hugin (my patch attached) with clang and it builds and installs fine. A quick test using hugin also seems to be ok. I did not use your fourth item in patching Guard.h, because it is different from yours and should already ok for clang: in zthreads Guard.h:l.494 - if(!isDisabled()) + if(!this->isDisabled()) LockingPolicy::destroyScope(*this); in hugins Guard.h:l.494 if(!LockHolder<LockType>::isDisabled()) LockingPolicy::destroyScope(*this); This should be ok within hugins Guard.h. What do you think about it? Many thanks, Rainer > > Hope that helps, > Greg
diff -Naur hugin.orig/files/patch-src__foreign__flann__util__logger.h hugin/files/patch-src__foreign__flann__util__logger.h --- hugin.orig/files/patch-src__foreign__flann__util__logger.h 1970-01-01 01:00:00.000000000 +0100 +++ hugin/files/patch-src__foreign__flann__util__logger.h 2013-01-18 19:05:12.000000000 +0100 @@ -0,0 +1,10 @@ +--- src/foreign/flann/util/logger.h.orig 2011-12-02 18:02:36.925022000 +0100 ++++ src/foreign/flann/util/logger.h 2013-01-18 19:04:18.000000000 +0100 +@@ -32,6 +32,7 @@ + #define LOGGER_H + + #include <cstdio> ++#include <stdarg.h> + #include "flann/general.h" + + diff -Naur hugin.orig/files/patch-src__foreign__zthread__include__zthread__Guard.h hugin/files/patch-src__foreign__zthread__include__zthread__Guard.h --- hugin.orig/files/patch-src__foreign__zthread__include__zthread__Guard.h 1970-01-01 01:00:00.000000000 +0100 +++ hugin/files/patch-src__foreign__zthread__include__zthread__Guard.h 2013-01-18 19:10:18.000000000 +0100 @@ -0,0 +1,31 @@ +--- src/foreign/zthread/include/zthread/Guard.h.orig 2011-12-02 18:02:37.253022000 +0100 ++++ src/foreign/zthread/include/zthread/Guard.h 2013-01-18 19:08:14.000000000 +0100 +@@ -108,7 +108,7 @@ + } + + template <class LockType> +- static void createScope(LockHolder<LockType>& l, unsigned long ms) { ++ static bool createScope(LockHolder<LockType>& l, unsigned long ms) { + + if(Scope1::createScope(l, ms)) + if(!Scope2::createScope(l, ms)) { +@@ -428,8 +428,8 @@ + template <class U, class V> + Guard(Guard<U, V>& g) : LockHolder<LockType>(g) { + +- LockingPolicy::shareScope(*this, extract(g)); +- ++ LockingPolicy::shareScope(*this, this->extract(g)); ++ + } + + /** +@@ -458,7 +458,7 @@ + template <class U, class V> + Guard(Guard<U, V>& g, LockType& lock) : LockHolder<LockType>(lock) { + +- LockingPolicy::transferScope(*this, extract(g)); ++ LockingPolicy::transferScope(*this, this->extract(g)); + + } +
_______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"