Boost logo

Boost :

Subject: Re: [boost] Coroutine2 examples - Cannot link properly.
From: Carlos Ferreira (carlosmf.pt_at_[hidden])
Date: 2016-03-31 22:21:08


It seems I was right.
Boost libs for Arch Linux are not compiled using the standard C++14.
Because of this, Boost.Context cannot support Boost.Coroutine2.

I recompiled Boost-libs with C++14, then reinstalled and now the Fibonacci
example compiles and links correctly with the system libs.

I hope this helps other developers with similar problems.

On 1 April 2016 at 01:29, Carlos Ferreira <carlosmf.pt_at_[hidden]> wrote:

> Ok I was mistaken. It seems that the gnu++14 standard is only used by
> default for GCC 6 release, which means that Boost.Context for Arch Linux
> was probably not compiled using the C++14 standard.
> The macro BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES is defined if a
> standard bellow c++14 is used and consequently,
> BOOST_CONTEXT_NO_EXECUTION_CONTEXT macro is defined.
>
> This is probably the reason why GCC is unable to successfully link the
> Fibonacci example with the Boost.context system lib.
> I will try to compile Boost for Arch linux, forcing the C++14 standard and
> then report here my results.
>
>
>
> On 1 April 2016 at 01:05, Carlos Ferreira <carlosmf.pt_at_[hidden]> wrote:
>
>> As I though, none of the macros are defined.
>> I don't really understand what is going on. I thought the Boost-libs
>> package from Arch Linux might have been compiled without C++14 support, but
>> GCC 5.3 uses -std=c++14 by default, if no standard is provided by the
>> client.
>>
>>
>>
>>
>> On 1 April 2016 at 00:44, Edward Diener <eldiener_at_[hidden]> wrote:
>>
>>> On 3/31/2016 6:09 PM, Carlos Ferreira wrote:
>>>
>>>> None of them seem to be defined. I have checked one by one using the
>>>> header
>>>> files included in the fibonacci example and none of those macros seem
>>>> to be
>>>> defined.
>>>>
>>>> Is there a test or a "boost" way for me to confirm and to be sure that
>>>> none
>>>> of those macros are defined?
>>>>
>>>
>>> Just a C++ way <g>. Add to an included header file:
>>>
>>> #include <boost/config.hpp>
>>>
>>> #if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) || \
>>> defined(BOOST_NO_CXX11_CONSTEXPR) || \
>>> defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || \
>>> defined(BOOST_NO_CXX11_FINAL) || \
>>> defined(BOOST_NO_CXX11_HDR_TUPLE) || \
>>> defined(BOOST_NO_CXX11_NOEXCEPT) || \
>>> defined(BOOST_NO_CXX11_NULLPTR) || \
>>> defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
>>> defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) || \
>>> defined(BOOST_NO_CXX11_UNIFIED_INITIALISATION_SYNTAX) || \
>>> defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \
>>> defined(BOOST_NO_HDR_ATOMIC) || \
>>> defined(BOOST_NO_HDR_TUPLE)
>>> #error Your message here
>>> #endif
>>>
>>>
>>>
>>>> On 31 March 2016 at 22:20, Oliver Kowalke <oliver.kowalke_at_[hidden]>
>>>> wrote:
>>>>
>>>> if one of the defect macros below seams to be defined - prevents
>>>>> including
>>>>> execution_context:
>>>>>
>>>>> BOOST_NO_CXX11_AUTO_DECLARATIONS
>>>>> BOOST_NO_CXX11_CONSTEXPR
>>>>> BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
>>>>> BOOST_NO_CXX11_FINAL
>>>>> BOOST_NO_CXX11_HDR_TUPLE
>>>>> BOOST_NO_CXX11_NOEXCEPT
>>>>> BOOST_NO_CXX11_NULLPTR
>>>>> BOOST_NO_CXX11_RVALUE_REFERENCES
>>>>> BOOST_NO_CXX11_TEMPLATE_ALIASES
>>>>> BOOST_NO_CXX11_UNIFIED_INITIALISATION_SYNTAX
>>>>> BOOST_NO_CXX11_VARIADIC_TEMPLATES
>>>>> BOOST_NO_HDR_ATOMIC
>>>>> BOOST_NO_HDR_TUPLE
>>>>>
>>>>> _______________________________________________
>>>>> Unsubscribe & other changes:
>>>>> http://lists.boost.org/mailman/listinfo.cgi/boost
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Unsubscribe & other changes:
>>> http://lists.boost.org/mailman/listinfo.cgi/boost
>>>
>>
>>
>>
>> --
>>
>> Carlos Miguel Ferreira
>> Researcher at Telecommunications Institute
>> Aveiro - Portugal
>> Work E-mail - cmf_at_[hidden]
>> Skype & GTalk -> carlosmf.pt_at_[hidden]
>> LinkedIn -> http://www.linkedin.com/in/carlosmferreira
>>
>
>
>
> --
>
> Carlos Miguel Ferreira
> Researcher at Telecommunications Institute
> Aveiro - Portugal
> Work E-mail - cmf_at_[hidden]
> Skype & GTalk -> carlosmf.pt_at_[hidden]
> LinkedIn -> http://www.linkedin.com/in/carlosmferreira
>

-- 
Carlos Miguel Ferreira
Researcher at Telecommunications Institute
Aveiro - Portugal
Work E-mail - cmf_at_[hidden]
Skype & GTalk -> carlosmf.pt_at_[hidden]
LinkedIn -> http://www.linkedin.com/in/carlosmferreira

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk