From owner-freebsd-ports@FreeBSD.ORG Fri Jan 18 18:34:51 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B96196E3; Fri, 18 Jan 2013 18:34:51 +0000 (UTC) (envelope-from rhurlin@gwdg.de) Received: from amailer.gwdg.de (amailer.gwdg.de [134.76.10.18]) by mx1.freebsd.org (Postfix) with ESMTP id 56A5CEFA; Fri, 18 Jan 2013 18:34:51 +0000 (UTC) Received: from p5dc3f6c4.dip.t-dialin.net ([93.195.246.196] helo=krabat.raven.hur) by mailer.gwdg.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1TwGm9-0005Y1-JN; Fri, 18 Jan 2013 19:34:49 +0100 Message-ID: <50F995C2.40200@gwdg.de> Date: Fri, 18 Jan 2013 19:34:42 +0100 From: Rainer Hurling User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: glarkin@FreeBSD.org Subject: Re: FreeBSD Port: graphics/hugin References: <201301171634.59322.lumiwa@gmail.com> <20130118073715.GA17087@hag.hw.v5d.org> <50F97FB0.9050804@gwdg.de> <50F98AE4.3090409@FreeBSD.org> In-Reply-To: <50F98AE4.3090409@FreeBSD.org> Content-Type: multipart/mixed; boundary="------------000507000107020801020402" X-Authenticated: Id:rhurlin X-Spam-Level: - X-Virus-Scanned: (clean) by exiscan+sophie Cc: Vasil Dimov , ajtiM , freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jan 2013 18:34:51 -0000 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::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 ++#include + #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 +- static void createScope(LockHolder& l, unsigned long ms) { ++ static bool createScope(LockHolder& l, unsigned long ms) { + + if(Scope1::createScope(l, ms)) + if(!Scope2::createScope(l, ms)) { +@@ -428,8 +428,8 @@ + template + Guard(Guard& g) : LockHolder(g) { + +- LockingPolicy::shareScope(*this, extract(g)); +- ++ LockingPolicy::shareScope(*this, this->extract(g)); ++ + } + + /** +@@ -458,7 +458,7 @@ + template + Guard(Guard& g, LockType& lock) : LockHolder(lock) { + +- LockingPolicy::transferScope(*this, extract(g)); ++ LockingPolicy::transferScope(*this, this->extract(g)); + + } + --------------000507000107020801020402--