From owner-freebsd-ports@FreeBSD.ORG Fri Nov 22 14:21:01 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2A98DD19 for ; Fri, 22 Nov 2013 14:21:01 +0000 (UTC) Received: from icp-osb-irony-out7.external.iinet.net.au (icp-osb-irony-out7.external.iinet.net.au [203.59.1.224]) by mx1.freebsd.org (Postfix) with ESMTP id A21E3276D for ; Fri, 22 Nov 2013 14:21:00 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgsLAOdnj1I6Bvdy/2dsb2JhbABZgwc4gnelAZRxgSIWdIIlAQEEAScTPwULCw0BEyUPBRgxEwmHcgUOwTkXjkVCB4MggRIDmBOBMYR9PosngzwogS4 X-IronPort-AV: E=Sophos;i="4.93,752,1378828800"; d="scan'208";a="177711638" Received: from unknown (HELO smtp.phoenix) ([58.6.247.114]) by icp-osb-irony-out7.iinet.net.au with ESMTP; 22 Nov 2013 22:20:57 +0800 Received: by smtp.phoenix (Postfix, from userid 1001) id 6AD10350; Sat, 23 Nov 2013 01:20:55 +1100 (EST) Date: Sat, 23 Nov 2013 01:20:55 +1100 From: andrew clarke To: Michael Gmelin Subject: Re: www/aria2 dependencies & lang/llvm33 build error Message-ID: <20131122142055.GA36109@ozzmosis.com> References: <20131116132213.GA95852@ozzmosis.com> <20131117110145.GA63272@ozzmosis.com> <20131117141502.5c203a99@bsd64.grem.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20131117141502.5c203a99@bsd64.grem.de> User-Agent: Mutt/1.5.22 (2013-10-16) Cc: freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Nov 2013 14:21:01 -0000 On Sun 2013-11-17 14:15:02 UTC+0100, Michael Gmelin (freebsd@grem.de) wrote: > > > www/aria2 1.18.1 requires lang/clang33. Is this really necessary? > > > Previous aria2 versions didn't require clang. > > > > I've now had a chance to check the aria2 sources and evidently it now > > requires C++11 support, which I find surprising, but that's progress I > > suppose... > > From a developer's standpoint this makes a lot of sense, since C++11 is > more productive and a lot more fun to use. Sounds good. I just wonder about the logic behind doing that for a minor 1.17 -> 1.18 release though. > I just built sudo successfully on 9.1 using system clang 3.1 and > CXX=clang++ > CXXFLAGS+=-std=c++11 -stdlib=libc++ Yeah, I have no problem building sudo with clang. The sudo code is all C though, not C++. I upgraded from FreeBSD 8.4-REL to 9.2-REL during the week. Trying to build aria2 with or without the above in /etc/make.conf still results in: "checking whether clang++ supports C++11 features by default... no" The only place I can get aria2 1.18 to build successfully is under FreeBSD 10.0-BETA(3) (tested in a VM). So that tends to rule out aria2's configure script being broken at least. For the time being I'm using portdowngrade to install aria2 1.17. Not a big deal, and I suspect I'll be upgrading my servers from FreeBSD 9.2 to 10.x sometime early next year, whereby this issue will fix itself... > The problem you're facing is probably the lack of libc++, which > contains all the C++11 library features. You can use C++11 using the > old gcc standard C++ library, but then you won't have access to about > 2/3 of the new features which are all implemented in the library. To > get those on a system that doesn't ship with clang already you could > install devel/libc++. Unfortunately this won't build on older hosts due > to the lack of aligned_alloc. While this can be worked around by > defining your local aligned_alloc, you'll probably trip over the lack of > xlocale(3) support, which is required to build libc++ successfully and > first appeared in 9.1. Out of curiosity I tried building devel/libc++ under 9.2 but it failed with: Shared object "libz.so.5" not found, required by "libLLVM-3.3.so" Evidently the fix is to add "libz.so.5 libz.so" to /etc/libmap.conf. I then point /etc/make.conf to lang/clang33: CC=clang33 CXX=clang++33 CPP=clang++33 -E aria2 1.18's configure still breaks though, darn: checking whether clang++33 supports C++11 features by default... no > So basically I see two options for you: > - Update to 9.2-RELEASE, 8.4 will be EoL soon anyway FWIW the reason I stuck with 8.4 was because it's EoL in June 2015, whereas 9.2 is EoL in September 2014. http://www.freebsd.org/security/security.html#sup Upgrading from 8.4 to 9.2 was surprisingly painless though, so I'm not as concerned with future upgrades. My main worry was root on ZFS, and whether the pool would be bootable from the newer kernel. It all went swimmingly though. Disk performance seems to have improved a little too which is nice. > - Try building aria with a recent gcc instead I've had no success with that either! Thanks for the pointers, though. Regards Andrew