lundi 3 octobre 2016

Boost build fails C++11 feature checks when using custom GCC version

A box I'm working on has been upgraded from Fedora 23 to Fedora 24. I had a custom-built GCC 4.9.3 and Boost 1.58; the GCC 4.9.3 seems to work same as before, but it looks like I need to rebuild Boost, so I downloaded the 1.62 sources, set the custom GCC version as described in this answer and ran

/b2 --toolset=gcc-4.9 stage

To my chagrin, I now see:

    - 32-bit                   : no
    - 64-bit                   : yes
    - arm                      : no
    - mips1                    : no
    - power                    : no
    - sparc                    : no
    - x86                      : yes
    - symlinks supported       : yes
    - C++11 mutex              : no
    - lockfree boost::atomic_flag : yes
    - Boost.Config Feature Check: cxx11_auto_declarations : no
    - Boost.Config Feature Check: cxx11_constexpr : no
    - Boost.Config Feature Check: cxx11_defaulted_functions : no
    - Boost.Config Feature Check: cxx11_final : yes
    - Boost.Config Feature Check: cxx11_hdr_tuple : no
    - Boost.Config Feature Check: cxx11_lambdas : no
    - Boost.Config Feature Check: cxx11_noexcept : no
    - Boost.Config Feature Check: cxx11_nullptr : no
    - Boost.Config Feature Check: cxx11_rvalue_references : no
    - Boost.Config Feature Check: cxx11_template_aliases : no
    - Boost.Config Feature Check: cxx11_thread_local : no
    - Boost.Config Feature Check: cxx11_variadic_templates : yes

i.e. a lot of C++11 features are supposedly missing, while they should not be. This does not occur when building it with the distribution's GCC version (6.2.1).

Why is this happening and what should I do to make the Boost build recognize my GCC 4.9.3's capabilities?

Aucun commentaire:

Enregistrer un commentaire