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

Reply via email to