Boost logo

Boost :

Subject: Re: [boost] Libc++ failures on linux
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2017-03-11 01:43:52

On Sat, Mar 11, 2017 at 3:32 AM, Deniz Bahadir via Boost
<boost_at_[hidden]> wrote:
> Am 11.03.2017 um 00:22 schrieb Andrey Semashev via Boost:
>> /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++.
> This is a known error on Ubuntu/Debian:
> And the fix is simple, presuming one can modify header-files of the libc++
> installation:

I guess, one could make a local change like that, but modifying system
headers is generally a bad idea and can't be recommended. I mean, even
if Tom makes the change on the test machine, that doesn't make Boost
actually work on users' machines. Which means libc++ can not be
officially supported.

>> /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.
> On my Ubuntu machine I was able to fix this error by adding the following
> path to the include-search-path: /usr/include/libcxxabi
> If you do not have this path on your Ubuntu/Debian machine, you need to
> install libc++abi, too. (DEB-Package: libc++abi-dev)

Right, which makes it a packaging bug, because the package should have
been pulled as a dependency of libc++-dev.

> Hope that helps,

It does, thanks.

Boost list run by bdawes at, gregod at, cpdaniel at, john at