* Building recent gcc (4.8.0) fails
@ 2013-04-09 9:31 jayjwa
2013-04-09 11:26 ` Jonathan Wakely
0 siblings, 1 reply; 3+ messages in thread
From: jayjwa @ 2013-04-09 9:31 UTC (permalink / raw)
To: gcc-help
[-- Attachment #1: Type: TEXT/PLAIN, Size: 34457 bytes --]
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?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Building recent gcc (4.8.0) fails
2013-04-09 9:31 Building recent gcc (4.8.0) fails jayjwa
@ 2013-04-09 11:26 ` Jonathan Wakely
2013-04-10 5:52 ` jayjwa
0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Wakely @ 2013-04-09 11:26 UTC (permalink / raw)
To: jayjwa; +Cc: gcc-help
(Resending as plain text email)
On Apr 9, 2013 10:31 AM, "jayjwa" wrote:
>
>
> 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:
Why 4.7.0 not 4.7.2?
> 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
If the gmp and mpfr libs are in /usr then you don't need to tell gcc
how to find them.
> --disable-werror --enable-__cxa_atexit --enable-threads --enable-threads=posix
Why are you wasting time adding this option *twice* when it's the
default anyway?
> 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'
This implies that your existing gcc 4.6 is being used to build the
target libraries, which means you're doing something very, very wrong.
Why is the newly built 4.7.0 compiler not being used to compile its
target libraries?
How did you run 'make'?
Do you have any strange environment settings?
> Adding -fpermissive flag to Makefile:
Don't edit the makefiles by hand, that's not going to help
> 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?
It's the same problem in every case, you're using your existing GCC
4.6 to build code that should be built with the new xg++ in the build
dir.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Building recent gcc (4.8.0) fails
2013-04-09 11:26 ` Jonathan Wakely
@ 2013-04-10 5:52 ` jayjwa
0 siblings, 0 replies; 3+ messages in thread
From: jayjwa @ 2013-04-10 5:52 UTC (permalink / raw)
To: gcc-help
On Tue, 9 Apr 2013, Jonathan Wakely wrote:
>> I have been facing a problem while trying to build recent versions of GCC. My goal was to build gcc-4.8.0
>>
>> Compiling 4.7.0:
>
> Why 4.7.0 not 4.7.2?
4.7.2 was also tried. That build attempt was omitted for space reasons as it
had the same results as 4.7.0.
>> ../gcc-4.7.0/configure --prefix=/usr --enable-shared --enable-static --enable-libada --enable-libssp --enable-lto --with-mpfr=/usr --with-gmp=/usr
>
> If the gmp and mpfr libs are in /usr then you don't need to tell gcc
> how to find them.
>
>
>> --disable-werror --enable-__cxa_atexit --enable-threads --enable-threads=posix
>
> Why are you wasting time adding this option *twice* when it's the
> default anyway?
Force of habit of running 'configure --help' and copy/pasting output for
options I think I'll need. Redundant options omitted in last build:
../gcc-4.8.0/configure --prefix=/usr --enable-shared --enable-static
--enable-libada --enable-libssp --enable-lto --disable-werror
--enable-__cxa_atexit --enable-tls --enable-objc-gc
--enable-languages=ada,c,c++,fortran,java,objc,obj-c++ --enable-initfini-array
--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
>> 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'
>
> This implies that your existing gcc 4.6 is being used to build the
> target libraries, which means you're doing something very, very wrong.
>
> Why is the newly built 4.7.0 compiler not being used to compile its
> target libraries?
Another person also pointed this out as well and it got me thinking about
environmental variables, which led to the solution.
> How did you run 'make'?
'make' and 'make bootstrap' were both tried.
> Do you have any strange environment settings?
No, but there IS a config.site file consisting of the following (minus
comments):
host=i686-pc-linux-gnu
sysconfdir=/etc
sharedstatedir=/var/log
localstatedir=/var
localedir=/usr/share/locale
CC="gcc "
CXX="g++ "
F77="gfortran "
ac_cv_KERNEL_LOC="/boot/vmlinux"
ac_cv_MAIL_SPOOL_DIR="/var/spool/mail
autoconfig/configure pull this in, and from past builds of other things I know
it can cause troubles. Moving this aside let the build complete successfully.
What is truly odd is that it was present for 4.6.3 and all past builds with
no issue. Perhaps CXX was getting reset at every run of 'configure' to
"g++ " instead of it using the just-built, new g++. Why this occurred now and
not at 4.6.3 or before in the past I'm not sure.
>> Adding -fpermissive flag to Makefile:
>
> Don't edit the makefiles by hand, that's not going to help
OK.
> It's the same problem in every case, you're using your existing GCC
> 4.6 to build code that should be built with the new xg++ in the build
> dir.
Once config.site was removed it built as expected. I'll run the test suit and
then install. Thank you to all that helped.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-04-10 5:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-09 9:31 Building recent gcc (4.8.0) fails jayjwa
2013-04-09 11:26 ` Jonathan Wakely
2013-04-10 5:52 ` jayjwa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).