Building recent gcc (4.8.0) fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




I have been facing a problem while trying to build recent versions of GCC. My goal was to build gcc-4.8.0 which was the last stable release when I started. I have gcc-4.6.3 currently. As building 4.8.0 failed (with the below errors), I worked backwards to find a version that would build. Versions 4.7.x fail with errors related to -std=xxx. 4.6.3 was the last version that built, originally starting with gcc-4.6.0. I even tried a newer 4.9.x with same results as the 4.8.x branch. As I don't use a linux distribution, there is no place to download a package from. Two different machines, both targets i686-pc-linux-gnu, get the same errors. Since my current gcc-4.6.3 has built kernels and recently glibc, I think it is working OK. How can I get gcc-4.8.0 (or latest stable) to build?

Compiling 4.7.0:

Configured with:

../gcc-4.7.0/configure --prefix=/usr --enable-shared --enable-static --enable-libada --enable-libssp --enable-lto --with-mpfr=/usr --with-gmp=/usr --disable-werror --enable-__cxa_atexit --enable-threads --enable-threads=posix --enable-tls --enable-objc-gc --enable-languages=ada,c,c++,fortran,java,objc,obj-c++ --enable-initfini-array --with-gnu-ld --with-ld=/usr/bin/ld --with-gnu-as --with-as=/usr/bin/as --with-gnu-ld --with-system-zlib --x-includes=/usr/X11R7/include --x-libraries=/usr/X11R7/lib --with-x --enable-java-awt=gtk,xlib --enable-java-gc=boehm --disable-browser-plugin --enable-gconf-peer --with-python-dir=/lib/python/site-packages --disable-libstdcxx-pch

make[3]: Entering directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3'
make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc " "CC_FOR_TARGET=/usr/src/gcc-build-4.7.0/./gcc/xgcc -B/usr/src/gcc-build-4.7.0/./gcc/" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2" "INSTALL=/usr/bin/ginstall -c" "INSTALL_DATA=/usr/bin/ginstall -c -m 644" "INSTALL_PROGRAM=/usr/bin/ginstall -c" "INSTALL_SCRIPT=/usr/bin/ginstall -c" "LDFLAGS=" "LIBCFLAGS=-g -O2" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS=" "exec_prefix=/usr" "infodir=/usr/share/info" "libdir=/usr/lib" "includedir=/usr/include" "prefix=/usr" "tooldir=/usr/i686-pc-linux-gnu" "gxx_include_dir=/usr/include/c++/4.7.0" "AR=/usr/i686-pc-linux-gnu/bin/ar" "AS=/usr/src/gcc-build-4.7.0/./gcc/as" "LD=/usr/src/gcc-build-4.7.0/./gcc/collect-ld" "RANLIB=/usr/i686-pc-linux-gnu/bin/ranlib" "NM=/usr/src/gcc-build-4.7.0/./gcc/nm" "NM_FOR_BUI!
LD=" "NM_FOR_TARGET=/usr/i686-pc-linux-gnu/bin/nm" "DESTDIR=" "WERROR=" all-recursive
make[4]: Entering directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3'
Making all in include
make[5]: Entering directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/include'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/include'
Making all in libsupc++
make[5]: Entering directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/libsupc++'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/libsupc++'
Making all in src
make[5]: Entering directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/src'
Making all in c++98
make[6]: Entering directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/src/c++98'
make[6]: Nothing to be done for `all'.
make[6]: Leaving directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/src/c++98'
Making all in c++11
make[6]: Entering directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/src/c++11'
/bin/sh ../../libtool --tag CXX --tag disable-shared  --mode=compile g++  -I/usr/src/gcc-4.7.0/libstdc++-v3/../libgcc -I/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/include -I/usr/src/gcc-4.7.0/libstdc++-v3/libsupc++  -prefer-pic -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi  -fdiagnostics-show-location=once   -ffunction-sections -fdata-sections  -frandom-seed=chrono.lo -std=gnu++11 -g -O2 -D_GNU_SOURCE -c -o chrono.lo ../../../../../gcc-4.7.0/libstdc++-v3/src/c++11/chrono.cc
libtool: compile:  g++ -I/usr/src/gcc-4.7.0/libstdc++-v3/../libgcc -I/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/include -I/usr/src/gcc-4.7.0/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=chrono.lo -std=gnu++11 -g -O2 -D_GNU_SOURCE -c ../../../../../gcc-4.7.0/libstdc++-v3/src/c++11/chrono.cc  -fPIC -DPIC -o chrono.o
cc1plus: error: unrecognized command line option '-std=gnu++11'
make[6]: *** [chrono.lo] Error 1
make[6]: Leaving directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/src/c++11'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3/src'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/usr/src/gcc-build-4.7.0/i686-pc-linux-gnu/libstdc++-v3'
make[2]: *** [all-stage1-target-libstdc++-v3] Error 2
make[2]: Leaving directory `/usr/src/gcc-build-4.7.0'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/usr/src/gcc-build-4.7.0'
make: *** [all] Error 2
make died with exit status 2


Compiling 4.8.0:

Configured same as above except with ../gcc-4.7.0/configure changed to ../gcc-4.8.0/configure

Making all in libsupc++
make[5]: Entering directory `/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/libsupc++'
/bin/sh ../libtool --tag CXX --tag disable-shared   --mode=compile g++  -I/usr/src/gcc-4.8.0/libstdc++-v3/../libgcc -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include -I/usr/src/gcc-4.8.0/libstdc++-v3/libsupc++  -prefer-pic -D_GLIBCXX_SHARED  -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi  -fdiagnostics-show-location=once    -ffunction-sections -fdata-sections  -frandom-seed=eh_alloc.lo -g -O2 -D_GNU_SOURCE  -c -o eh_alloc.lo ../../../../gcc-4.8.0/libstdc++-v3/libsupc++/eh_alloc.cc
libtool: compile:  g++ -I/usr/src/gcc-4.8.0/libstdc++-v3/../libgcc -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include -I/usr/src/gcc-4.8.0/libstdc++-v3/libsupc++ -D_GLIBCXX_SHARED -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=eh_alloc.lo -g -O2 -D_GNU_SOURCE -c ../../../../gcc-4.8.0/libstdc++-v3/libsupc++/eh_alloc.cc  -fPIC -DPIC -D_GLIBCXX_SHARED -o eh_alloc.o
In file included from ../../../../gcc-4.8.0/libstdc++-v3/libsupc++/eh_alloc.cc:36:0:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: ISO C++ forbids initialization of member '_M_mutex' [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: making '_M_mutex' static [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: invalid in-class initialization of static data member of non-integral type '__gthread_mutex_t {aka pthread_mutex_t}'
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__mutex::lock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:152:30: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__mutex::unlock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:163:32: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function '__gthread_mutex_t* __gnu_cxx::__mutex::gthread_mutex()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:170:17: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: At global scope:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: ISO C++ forbids initialization of member '_M_mutex' [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: making '_M_mutex' static [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: invalid in-class initialization of static data member of non-integral type '__gthread_recursive_mutex_t {aka pthread_mutex_t}'
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__recursive_mutex::lock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:207:40: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__recursive_mutex::unlock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:218:42: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function '__gthread_recursive_mutex_t* __gnu_cxx::__recursive_mutex::gthread_recursive_mutex()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:225:15: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: At global scope:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: ISO C++ forbids initialization of member '_M_cond' [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: making '_M_cond' static [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: invalid in-class initialization of static data member of non-integral type '__gthread_cond_t {aka pthread_cond_t}'
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::broadcast()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:285:34: error: '_M_cond' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::wait(__gnu_cxx::__mutex*)':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:295:29: error: '_M_cond' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::wait_recursive(__gnu_cxx::__recursive_mutex*)':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:305:39: error: '_M_cond' was not declared in this scope
make[5]: *** [eh_alloc.lo] Error 1
make[5]: Leaving directory `/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/libsupc++'
make[4]: *** [all-recursive] Error 1

Adding -fpermissive flag to Makefile:

Making all in libsupc++
make[5]: Entering directory `/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/libsupc++'
/bin/sh ../libtool --tag CXX --tag disable-shared   --mode=compile g++  -I/usr/src/gcc-4.8.0/libstdc++-v3/../libgcc -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include -I/usr/src/gcc-4.8.0/libstdc++-v3/libsupc++  -prefer-pic -D_GLIBCXX_SHARED   -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -std=c++0x  -fdiagnostics-show-location=once    -ffunction-sections -fdata-sections  -frandom-seed=eh_alloc.lo -g -O2 -D_GNU_SOURCE  -c -o eh_alloc.lo ../../../../gcc-4.8.0/libstdc++-v3/libsupc++/eh_alloc.cc
libtool: compile:  g++ -I/usr/src/gcc-4.8.0/libstdc++-v3/../libgcc -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include -I/usr/src/gcc-4.8.0/libstdc++-v3/libsupc++ -D_GLIBCXX_SHARED -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -std=c++0x -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=eh_alloc.lo -g -O2 -D_GNU_SOURCE -c ../../../../gcc-4.8.0/libstdc++-v3/libsupc++/eh_alloc.cc  -fPIC -DPIC -D_GLIBCXX_SHARED -o eh_alloc.o
In file included from ../../../../gcc-4.8.0/libstdc++-v3/libsupc++/eh_alloc.cc:36:0:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: sorry, unimplemented: non-static data member initializers
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: 'constexpr' needed for in-class initialization of static data member '_M_mutex' of non-integral type
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__mutex::lock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:152:30: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__mutex::unlock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:163:32: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function '__gthread_mutex_t* __gnu_cxx::__mutex::gthread_mutex()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:170:17: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: At global scope:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: sorry, unimplemented: non-static data member initializers
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: 'constexpr' needed for in-class initialization of static data member '_M_mutex' of non-integral type
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__recursive_mutex::lock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:207:40: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__recursive_mutex::unlock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:218:42: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function '__gthread_recursive_mutex_t* __gnu_cxx::__recursive_mutex::gthread_recursive_mutex()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:225:15: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: At global scope:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: sorry, unimplemented: non-static data member initializers
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: 'constexpr' needed for in-class initialization of static data member '_M_cond' of non-integral type
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::broadcast()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:285:34: error: '_M_cond' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::wait(__gnu_cxx::__mutex*)':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:295:29: error: '_M_cond' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::wait_recursive(__gnu_cxx::__recursive_mutex*)':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:305:39: error: '_M_cond' was not declared in this scope
make[5]: *** [eh_alloc.lo] Error 1
make[5]: Leaving directory `/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/libsupc++'

With simple configure options:

../gcc-4.8.0/configure --prefix=/usr

make[5]: Entering directory `/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include'
mkdir -p ./i686-pc-linux-gnu/bits/extc++.h.gch
g++  -x c++-header -nostdinc++ -g -O2 -D_GNU_SOURCE -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include -I/usr/src/gcc-4.8.0/libstdc++-v3/libsupc++ -O2 -g /usr/src/gcc-4.8.0/libstdc++-v3/include/precompiled/extc++.h -o i686-pc-linux-gnu/bits/extc++.h.gch/O2g.gch
In file included from /usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/bitmap_allocator.h:37:0,
                 from /usr/src/gcc-4.8.0/libstdc++-v3/include/precompiled/extc++.h:36:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: ISO C++ forbids initialization of member '_M_mutex' [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: making '_M_mutex' static [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: invalid in-class initialization of static data member of non-integral type '__gthread_mutex_t {aka pthread_mutex_t}'
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__mutex::lock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:152:30: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__mutex::unlock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:163:32: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function '__gthread_mutex_t* __gnu_cxx::__mutex::gthread_mutex()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:170:17: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: At global scope:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: ISO C++ forbids initialization of member '_M_mutex' [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: making '_M_mutex' static [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: invalid in-class initialization of static data member of non-integral type '__gthread_recursive_mutex_t {aka pthread_mutex_t}'
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__recursive_mutex::lock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:207:40: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__recursive_mutex::unlock()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:218:42: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function '__gthread_recursive_mutex_t* __gnu_cxx::__recursive_mutex::gthread_recursive_mutex()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:225:15: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: At global scope:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: ISO C++ forbids initialization of member '_M_cond' [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: making '_M_cond' static [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: invalid in-class initialization of static data member of non-integral type '__gthread_cond_t {aka pthread_cond_t}'
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::broadcast()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:285:34: error: '_M_cond' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::wait(__gnu_cxx::__mutex*)':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:295:29: error: '_M_cond' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::wait_recursive(__gnu_cxx::__recursive_mutex*)':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:305:39: error: '_M_cond' was not declared in this scope
In file included from /usr/src/gcc-4.8.0/libstdc++-v3/include/precompiled/extc++.h:52:0:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope: At global scope:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:463:43: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:463:43: error: ISO C++ forbids initialization of member '_M_ref_count_lock' [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:463:43: error: making '_M_ref_count_lock' static [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:463:43: error: invalid in-class initialization of static data member of non-integral type '__gthread_mutex_t {aka pthread_mutex_t}'
In file included from /usr/src/gcc-4.8.0/libstdc++-v3/include/precompiled/extc++.h:52:0:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope: In member function 'void __gnu_cxx::_Refcount_Base::_M_incr()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:487:29: error: '_M_ref_count_lock' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope: In member function '__gnu_cxx::_Refcount_Base::_RC_t __gnu_cxx::_Refcount_Base::_M_decr()':
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:495:29: error: '_M_ref_count_lock' was not declared in this scope
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope: At global scope:
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:594:44: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:594:44: error: ISO C++ forbids initialization of member '_M_c_string_lock' [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:594:44: error: making '_M_c_string_lock' static [-fpermissive]
/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include/ext/rope:594:44: error: invalid in-class initialization of static data member of non-integral type '__gthread_mutex_t {aka pthread_mutex_t}'
make[5]: *** [i686-pc-linux-gnu/bits/extc++.h.gch/O2g.gch] Error 1
make[5]: Leaving directory `/usr/src/gcc-build-4.8.0/i686-pc-linux-gnu/libstdc++-v3/include'


Compiling gcc-4.9-20130324:


Making all in libsupc++
make[5]: Entering directory `/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/libsupc++'
/bin/sh ../libtool --tag CXX --tag disable-shared   --mode=compile g++  -I/usr/src/gcc-4.9-20130324/libstdc++-v3/../libgcc -I/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include -I/usr/src/gcc-4.9-20130324/libstdc++-v3/libsupc++  -prefer-pic -D_GLIBCXX_SHARED  -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi  -fdiagnostics-show-location=once    -ffunction-sections -fdata-sections  -frandom-seed=eh_alloc.lo -g -O2 -D_GNU_SOURCE  -c -o eh_alloc.lo ../../../../gcc-4.9-20130324/libstdc++-v3/libsupc++/eh_alloc.cc
libtool: compile:  g++ -I/usr/src/gcc-4.9-20130324/libstdc++-v3/../libgcc -I/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include -I/usr/src/gcc-4.9-20130324/libstdc++-v3/libsupc++ -D_GLIBCXX_SHARED -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=eh_alloc.lo -g -O2 -D_GNU_SOURCE -c ../../../../gcc-4.9-20130324/libstdc++-v3/libsupc++/eh_alloc.cc  -fPIC -DPIC -D_GLIBCXX_SHARED -o eh_alloc.o
In file included from ../../../../gcc-4.9-20130324/libstdc++-v3/libsupc++/eh_alloc.cc:36:0:
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: ISO C++ forbids initialization of member '_M_mutex' [-fpermissive]
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: making '_M_mutex' static [-fpermissive]
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:122:34: error: invalid in-class initialization of static data member of non-integral type '__gthread_mutex_t {aka pthread_mutex_t}'
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__mutex::lock()':
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:152:30: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__mutex::unlock()':
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:163:32: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function '__gthread_mutex_t* __gnu_cxx::__mutex::gthread_mutex()':
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:170:17: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: At global scope:
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: ISO C++ forbids initialization of member '_M_mutex' [-fpermissive]
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: making '_M_mutex' static [-fpermissive]
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:177:44: error: invalid in-class initialization of static data member of non-integral type '__gthread_recursive_mutex_t {aka pthread_mutex_t}'
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__recursive_mutex::lock()':
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:207:40: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__recursive_mutex::unlock()':
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:218:42: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function '__gthread_recursive_mutex_t* __gnu_cxx::__recursive_mutex::gthread_recursive_mutex()':
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:225:15: error: '_M_mutex' was not declared in this scope
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: At global scope:
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: a brace-enclosed initializer is not allowed here before '{' token
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: ISO C++ forbids initialization of member '_M_cond' [-fpermissive]
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: making '_M_cond' static [-fpermissive]
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:255:32: error: invalid in-class initialization of static data member of non-integral type '__gthread_cond_t {aka pthread_cond_t}'
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::broadcast()':
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:285:34: error: '_M_cond' was not declared in this scope
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::wait(__gnu_cxx::__mutex*)':
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:295:29: error: '_M_cond' was not declared in this scope
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h: In member function 'void __gnu_cxx::__cond::wait_recursive(__gnu_cxx::__recursive_mutex*)':
/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/include/ext/concurrence.h:305:39: error: '_M_cond' was not declared in this scope
make[5]: *** [eh_alloc.lo] Error 1
make[5]: Leaving directory `/usr/src/gcc-build-4.9/i686-pc-linux-gnu/libstdc++-v3/libsupc++'

Versions of gmp, mpc, etc.:

gmp-5.1.1
mpfr-3.1.2
mpc-1.0.1
binutils-2.23.1

glibc-2.17

GNU C Library (GNU libc) stable release version 2.17, by Roland McGrath et al.
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.6.3.
Compiled on a Linux 3.8.0 system on 2013-03-30.
Available extensions:
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        Native POSIX Threads Library by Ulrich Drepper et al
        BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

Kernel:

Linux vdrl 3.8.0 #1 SMP Thu Feb 21 00:23:09 EST 2013 i686 GNU/Linux

gcc-4.6.3

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.6.3/configure --prefix=/usr --enable-shared
--enable-static --enable-libada --enable-libssp --enable-lto
--with-mpfr=/usr --with-gmp=/usr --disable-werror --enable-__cxa_atexit
--enable-threads --enable-threads=posix --enable-tls --enable-objc-gc
--enable-languages=ada,c,c++,fortran,java,objc,obj-c++
--enable-initfini-array --with-gnu-ld --with-ld=/usr/bin/ld --with-gnu-as
--with-as=/usr/bin/as --with-gnu-ld --with-system-zlib
--x-includes=/usr/X11R7/include --x-libraries=/usr/X11R7/lib --with-x
--enable-java-awt=gtk,xlib --enable-java-gc=boehm --disable-browser-plugin
--enable-gconf-peer --with-python-dir=/lib/python/site-packages
Thread model: posix
gcc version 4.6.3 (GCC)

The 4.7.x errors seem to be a matter of 4.6.x not understanding latest standards used in 4.8.x, but the _M_mutex errors present in 4.8.x and 4.9.x builds have me puzzled. Can someone point out my error in building 4.8.0?

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux