Date: Fri, 18 Jan 2013 19:34:42 +0100 From: Rainer Hurling <rhurlin@gwdg.de> To: glarkin@FreeBSD.org Cc: Vasil Dimov <vd@FreeBSD.org>, ajtiM <lumiwa@gmail.com>, freebsd-ports@freebsd.org Subject: Re: FreeBSD Port: graphics/hugin Message-ID: <50F995C2.40200@gwdg.de> In-Reply-To: <50F98AE4.3090409@FreeBSD.org> References: <201301171634.59322.lumiwa@gmail.com> <20130118073715.GA17087@hag.hw.v5d.org> <50F97FB0.9050804@gwdg.de> <50F98AE4.3090409@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------000507000107020801020402 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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 >>>> root@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 --------------000507000107020801020402 Content-Type: text/plain; charset=UTF-8; name="hugin_clang.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="hugin_clang.diff" 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)); + + } + --------------000507000107020801020402--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50F995C2.40200>