Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Nov 2013 01:20:55 +1100
From:      andrew clarke <mail@ozzmosis.com>
To:        Michael Gmelin <freebsd@grem.de>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: www/aria2 dependencies & lang/llvm33 build error
Message-ID:  <20131122142055.GA36109@ozzmosis.com>
In-Reply-To: <20131117141502.5c203a99@bsd64.grem.de>
References:  <20131116132213.GA95852@ozzmosis.com> <20131117110145.GA63272@ozzmosis.com> <20131117141502.5c203a99@bsd64.grem.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131122142055.GA36109>