www/aria2 dependencies & lang/llvm33 build error

Michael Gmelin freebsd at grem.de
Sun Nov 17 13:15:16 UTC 2013


On Sun, 17 Nov 2013 22:01:45 +1100
andrew clarke <mail at ozzmosis.com> wrote:

> Following up on my question from yesterday...
> 
> On Sun 2013-11-17 00:22:13 UTC+1100, andrew clarke
> (mail at ozzmosis.com) wrote:
> 
> > I'm running FreeBSD 8.4-RELEASE-p4.
> > 
> > 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.

> 
> If I set CXX=clang++-devel in make.conf, the aria2 configure script
> still fails though, complaining of missing C++11 support. Odd.
> 
> On a hunch I tried reinstalling textproc/py-sphinx, which failed with
> the same error. Evidently py-sphinx is missing a dependency on
> textproc/py-MarkupSafe. Once markupsafe is installed I could build &
> install llvm33 & clang33.
> 
> But even so, the aria2 build still complains about missing C++11
> support:
>
> checking whether /usr/local/bin/clang++33 supports C++11 features by
> default... no checking whether /usr/local/bin/clang++33 supports
> C++11 features with -std=c++11 ... no checking
> whether /usr/local/bin/clang++33 supports C++11 features with
> -std=c++11 -stdlib=libc++... no checking
> whether /usr/local/bin/clang++33 supports C++11 features with
> -std=c++0x ... no checking whether /usr/local/bin/clang++33 supports
> C++11 features with -std=c++0x -stdlib=libc++... no configure: error:
> *** A compiler with support for C++11 language features is required.
> ===>  Script "configure" failed unexpectedly.
> 
> Any suggestions?

I just built sudo successfully on 9.1 using system clang 3.1 and
CXX=clang++
CXXFLAGS+=-std=c++11 -stdlib=libc++

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.

So basically I see two options for you:
- Update to 9.2-RELEASE, 8.4 will be EoL soon anyway
- Try building aria with a recent gcc instead

Cheers,
Michael



-- 
Michael Gmelin


More information about the freebsd-ports mailing list