Hi,
I'm running into a build problem when building GCC 6.1.0:
/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/./gcc/xgcc
-shared-libgcc
-B/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/./gcc
-nostdinc++
-L/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/powerpc-eabispe/libstdc++-v3/src
-L/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/powerpc-eabispe/libstdc++-v3/src/.libs
-L/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/powerpc-eabispe/libstdc++-v3/libsupc++/.libs
-B/home/patrick/src/e7/toolchain/stage2/powerpc-eabispe/bin/
-B/home/patrick/src/e7/toolchain/stage2/powerpc-eabispe/lib/ -isystem
/home/patrick/src/e7/toolchain/stage2/powerpc-eabispe/include -isystem
/home/patrick/src/e7/toolchain/stage2/powerpc-eabispe/sys-include
-L/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/./ld -x
c++-header -nostdinc++ -g -O2
-I/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/powerpc-eabispe/libstdc++-v3/include/powerpc-eabispe
-I/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/powerpc-eabispe/libstdc++-v3/include
-I/home/patrick/src/e7/toolchain/src/gcc-combined/libstdc++-v3/libsupc++
-O2 -g
/home/patrick/src/e7/toolchain/src/gcc-combined/libstdc++-v3/include/precompiled/extc++.h
-o powerpc-eabispe/bits/extc++.h.gch/O2g.gch
In file included from
/home/patrick/src/e7/toolchain/src/gcc-combined/libstdc++-v3/include/precompiled/extc++.h:69:0:
/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/powerpc-eabispe/libstdc++-v3/include/ext/throw_allocator.h:545:18:
error: 'uniform_real_distribution' in namespace 'std' does not name a
template type
typedef std::uniform_real_distribution<double> distribution_type;
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/patrick/src/e7/toolchain/build/gcc-6.1.0-stage2/powerpc-eabispe/libstdc++-v3/include/ext/throw_allocator.h:546:18:
error: 'mt19937' in namespace 'std' does not name a type
typedef std::mt19937 engine_type;
^~~~~~~
I've done some analysis of this and it turns out to be an issue with the
C library I'm using.
The configure test "checking for ISO C99 support to TR1 in <stdint.h>"
is failing.
This stops _GLIBCXX_USE_C99_STDINT_TR1 from being defined which
subsequently causes the above build failure because <random> doesn't
include <bits/random.h> anymore.
Is this a bug in the build system? If _GLIBCXX_USE_C99_STDINT_TR1 is
required then should the configure abort?
Alternatively, should libstdc++ still build without
_GLIBCXX_USE_C99_STDINT_TR1?
Patrick