Boost logo

Boost :

Subject: Re: [boost] Coroutine2 examples - Cannot link properly.
From: Oliver Kowalke (oliver.kowalke_at_[hidden])
Date: 2016-04-01 04:43:58


thx, Carlos for verifying this issue

2016-04-01 4:21 GMT+02:00 Carlos Ferreira <carlosmf.pt_at_[hidden]>:

> 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
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


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