On Thu, Apr 9, 2015 at 8:15 AM, Deniz Bahadir
Am 09.04.2015 um 16:39 schrieb Marshall Clow:
On Thu, Apr 9, 2015 at 4:11 AM, Deniz Bahadir
mailto:dbahadir@benocs.com> wrote: Building Boost 1.58.0-rc3 succeeded only partially.
Success:
Debian 7 with GCC 4.8.2 (in C++03 mode) with build-command: b2 -j4 --build-dir=/opt/build/test --build-type=complete --layout=versioned address-model=64 architecture=x86 install --prefix="/opt/install/test" toolset=gcc-4.8 cflags="-fPIC" cxxflags="-fPIC" dll-path="/opt/test/lib/x86___64-linux-gnu"
Failure:
Debian 7 with GCC 4.8.2 (in C++11 mode) with build-command: b2 -j4 --build-dir=/opt/build/test --build-type=complete --layout=versioned address-model=64 architecture=x86 install --prefix="/opt/install/test" toolset=gcc-4.8 cflags="-fPIC" cxxflags="-fPIC -std=c++11" dll-path="/opt/test/lib/x86___ 64-linux-gnu"
The main-error seems to come from "Boost.Context" and the use of unknown "std::index_sequence":
std::index_sequence is a C++14 feature.
The question is then: Why is it used when I only enable C++11 features?
My guess would be "a bug".
I suppose, GCC 4.8(.2) is too old to support std::index_sequence. (Or is it the bundled stdlibc++?) When using C++14 mode ("cxxflags=-fPIC -std=c++1y") the same errors occur.
It would not surprise me if gcc 4.8.x did not support index_sequence. And yes, it would be the libstdc++ that comes with the compiler, not the compiler itself. FWIW, index_sequence *is* implemented in gcc 4.9.2, but it is only available post-c++11. -- Marshall