Boost build не проходит проверку функций C ++ 11 при использовании (настраиваемого) GCC 4.x или 5.x
Мне нужно собрать Boost 1.62 и 1.63 на машине с Fedora 24, но с использованием GCC 4.9.3 или GCC 5.4.0 (в зависимости от версии CUDA, поэтому мне нужен более старый компилятор). Но если я установлю пользовательскую версию GCC, как описано вэтот ответ и беги
/b2 --toolset=gcc-5.4.0 stage
К моему огорчению, теперь я вижу:
- 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
то есть многие функции C ++ 11 предположительно отсутствуют, хотя их не должно быть. Этого не происходит при сборке с версией дистрибутива GCC (6.2.1).
Почему это происходит и что я должен сделать, чтобы сборка Boost распознала возможности моего GCC 5.4.0 (или 4.9.3)?