Subject: Re: [boost] Libc++ failures on linux
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2017-03-10 23:22:52
On Sat, Mar 11, 2017 at 1:33 AM, Tom Kent via Boost
> So I tried to add my first linux regression runner using libc++ with clang,
> and I'm seeing the following error saying it can't find <cstddef>:
That page currently shows a different error:
/usr/include/c++/v1/string:1938:44: error: 'basic_string<_CharT,
_Traits, _Allocator>' is missing exception specification 'noexcept'
basic_string<_CharT, _Traits, _Allocator>::basic_string(const
/usr/include/c++/v1/string:1326:40: note: previous declaration is here
_LIBCPP_INLINE_VISIBILITY explicit basic_string(const allocator_type& __a)
This happens after boost/config.hpp is included, which means that
cstddef is found. Indeed, cstddef is in /usr/include/c++/v1 on my
system, so the compiler clearly looks there.
The error itself looks like a bug in libc++.
/usr/include/c++/v1/cxxabi.h:21:10: fatal error: '__cxxabi_config.h'
file not found
This error is more interesting. I can see this #include in my local
libc++ as well, yet I can't find this file on my system.
Both errors indicate that libc++ is broken on Ubuntu (or Linux in
general) - either in upstream or in packaging. If that's the case, we
can probably stop this testing effort right here and report the bugs
to libc++ devs.
PS: If you're still having problems with cstddef, you can try seeing
if the compiler looks in /usr/include/c++/v1 as described here:
If it doesn't, try adding it as an include path. Although, that path
obviously should be used by default when libc++ is enabled.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk