Boost logo

Boost :

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
<boost_at_[hidden]> wrote:
> 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>:
> http://www.boost.org/development/tests/develop/developer/output/teeks99-02-dc3-9-1z-lc-Docker-64on64-boost-bin-v2-libs-accumulators-test-count-test-clang-linux-3-9~c++1z~lc-debug-link-static.html

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
allocator_type& __a)
                                           ^
/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
#include <__cxxabi_config.h>

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:

http://stackoverflow.com/questions/11946294/dump-include-paths-from-g

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