trouble building libstdc++ snapshot "in place"
Benjamin Kosnik
bkoz@cygnus.com
Sat Apr 1 00:00:00 GMT 2000
Hi. Yeah it looks like you'll need to disable "-Werror" in src/Makefile.in
(Just removing it before you do a configure should do the trick)
You'll still get the warnings (due to -O2 being passed down from the
top-level makefile and the inlining of v-3 based on newer g++'s than 2.95.2)
but you'll be able to make, and the generated code should be fine.
-benjamin
On Thu, 23 Mar 2000, David Konerding wrote:
>
> Ben, I'm still having trouble trying to build libstdc++ snapshot
> "in place" within gcc.
>
> I've untarred gcc-2.95.2, built and installed it (w/o any libstdc++).
> Then I installed libstdc++ into the gcc-2.95.2 source dir, moved away
> the older libstdc++ and libio, and made the symlink.
> I made a "bld-libstdc++" directory as a child of the gcc-2.95.2 directory,
> then went into it and did "../libstdc++/configure --prefix=/home/dek/new_libstdc++". That worked, but when I tried to do a make, the xgcc compiler gives:
>
> "Warnings treated as errors" (jump down to the bottom of the included text,
> and you'll see it)
>
> Any ideas?
>
> make[1]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/libiberty'
> make[2]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/libiberty/testsuite'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/libiberty/testsuite'
> make[1]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/libiberty'
> make[1]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo'
> make all-recursive
> make[2]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo'
> Making all in intl
> make[3]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo/intl'
> make[3]: Nothing to be done for `all'.
> make[3]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo/intl'
> Making all in lib
> make[3]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo/lib'
> make[3]: Nothing to be done for `all'.
> make[3]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo/lib'
> Making all in makeinfo
> make[3]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo/makeinfo'
> make[3]: Nothing to be done for `all'.
> make[3]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo/makeinfo'
> make[2]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo'
> make[1]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo'
> make[1]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/etc'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/etc'
> make[1]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc'
> (cd intl && make all)
> make[2]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/intl'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/intl'
> make[1]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc'
> make[1]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libiberty'
> make[2]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libiberty/testsuite'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libiberty/testsuite'
> make[2]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libiberty'
> if [ -z "" ]; then \
> true; \
> else \
> rootpre=`pwd`/; export rootpre; \
> srcrootpre=`cd ../../../libiberty; pwd`/; export srcrootpre; \
> lib=`echo ${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
> compiler="/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/xgcc -B/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/ -B/usr/local/new_libstdc++_install/i686-pc-linux-gnu/bin/"; \
> for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
> dir=`echo $i | sed -e 's/;.*$//'`; \
> if [ "${dir}" = "." ]; then \
> true; \
> else \
> if [ -d ../${dir}/${lib} ]; then \
> flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
> if (cd ../${dir}/${lib}; make "AR=ar" "AR_FLAGS=rc" "CC=/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/xgcc -B/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/ -B/usr/local/new_libstdc++_install/i686-pc-linux-gnu/bin/" "CFLAGS=-O2" "LIBCFLAGS=-O2" "EXTRA_OFILES=" "HDEFINES=" "INSTALL=/bin/sh /usr/local/src/gcc-2.95.2/install-sh -c" "INSTALL_DATA=/bin/sh /usr/local/src/gcc-2.95.2/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh /usr/local/src/gcc-2.95.2/install-sh -c " "LDFLAGS=" "LOADLIBES=" "RANLIB=ranlib" "SHELL=/bin/sh" "prefix=/usr/local/new_libstdc++_install" "exec_prefix=/usr/local/new_libstdc++_install" "libdir=/usr/local/new_libstdc++_install/lib" "libsubdir=/usr/local/new_libstdc++_install/lib/gcc-lib/i686-pc-linux-gnu/2.95.2" "tooldir=/usr/local/new_libstdc++_install/i686-pc-linux-gnu" \
> CFLAGS="-O2 ${flags}" \
> CXXFLAGS="-O2 -fvtable-thunks -D_GNU_SOURCE ${flags}" \
> LIBCFLAGS="-O2 ${flags}" \
> LIBCXXFLAGS="-O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates ${flags}" \
> LDFLAGS=" ${flags}" \
> all); then \
> true; \
> else \
> exit 1; \
> fi; \
> else true; \
> fi; \
> fi; \
> done; \
> fi
> make[2]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libiberty'
> make[1]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libiberty'
> make[1]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++'
> make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CC_FOR_TARGET=/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/xgcc -B/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/ -B/usr/local/new_libstdc++_install/i686-pc-linux-gnu/bin/" "CFLAGS=-O2" "CXXFLAGS=-O2 -fvtable-thunks -D_GNU_SOURCE" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=-O2" "INSTALL=/bin/sh /usr/local/src/gcc-2.95.2/install-sh -c" "INSTALL_DATA=/bin/sh /usr/local/src/gcc-2.95.2/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh /usr/local/src/gcc-2.95.2/install-sh -c " "INSTALL_SCRIPT=/bin/sh /usr/local/src/gcc-2.95.2/install-sh -c" "LDFLAGS=" "LIBCFLAGS=-O2" "LIBCFLAGS_FOR_TARGET=-O2" "MAKE=make" "MAKEINFO=/usr/local/src/gcc-2.95.2/bld-libstdc++/texinfo/makeinfo/makeinfo " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/usr/local/new_libstdc++_install" "infodir=/usr/local/new_libstdc++_install/info" "libdir=/usr/local/new_libstdc++_install/lib" "includedir=/usr/local/new_libstdc!
++!
> _install/include" "prefix=/usr/local/new_libstdc++_install" "tooldir=/usr/local/new_libstdc++_install/i686-pc-linux-gnu" "AR=ar" "AS=as" "CC=/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/xgcc -B/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/ -B/usr/local/new_libstdc++_install/i686-pc-linux-gnu/bin/" "CXX=/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/xgcc -B/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/ -B/usr/local/new_libstdc++_install/i686-pc-linux-gnu/bin/" "LD=ld" "LIBCFLAGS=-O2" "PICFLAG=" "RANLIB=ranlib" "NM=nm" "NM_FOR_BUILD=" "NM_FOR_TARGET=nm" "DESTDIR=" all-recursive
> make[2]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++'
> Making all in math
> make[3]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++/math'
> make[3]: Nothing to be done for `all'.
> make[3]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++/math'
> Making all in libio
> make[3]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++/libio'
> make[3]: Nothing to be done for `all'.
> make[3]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++/libio'
> Making all in src
> make[3]: Entering directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++/src'
> /bin/sh ../libtool --mode=compile /usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/xgcc -B/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/ -B/usr/local/new_libstdc++_install/i686-pc-linux-gnu/bin/ -DHAVE_CONFIG_H -I. -I../../../../libstdc++/src -I.. -nostdinc++ -I../../../../libstdc++ -I../../../../libstdc++/stl -I../../../../libstdc++/libio -I../../../../libstdc++/config/cpu/i386 -I../../../../libstdc++/config/gnu-linux -I/usr/local/new_libstdc++_install/include -D_GNU_SOURCE -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -Werror -g -fhonor-std -O2 -fvtable-thunks -D_GNU_SOURCE -c ../../../../libstdc++/src/stringMAIN.cc
> rm -f .libs/stringMAIN.lo
> /usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/xgcc -B/usr/local/src/gcc-2.95.2/bld-libstdc++/gcc/ -B/usr/local/new_libstdc++_install/i686-pc-linux-gnu/bin/ -DHAVE_CONFIG_H -I. -I../../../../libstdc++/src -I.. -nostdinc++ -I../../../../libstdc++ -I../../../../libstdc++/stl -I../../../../libstdc++/libio -I../../../../libstdc++/config/cpu/i386 -I../../../../libstdc++/config/gnu-linux -I/usr/local/new_libstdc++_install/include -D_GNU_SOURCE -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -Werror -g -fhonor-std -O2 -fvtable-thunks -D_GNU_SOURCE -c -fPIC -DPIC ../../../../libstdc++/src/stringMAIN.cc -o .libs/stringMAIN.lo
> cc1plus: warnings being treated as errors
> ../../../../libstdc++/bits/string.tcc: In method `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, unsigned int, unsigned int = std::basic_string<_CharT,_Traits,_Alloc>::npos)':
> ../../../../libstdc++/src/string-inst.cc:64: instantiated from here
> ../../../../libstdc++/bits/basic_string.h:712: warning: can't inline call to `static char * std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_S_construct<std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >, std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >, const std::allocator<char> &)'
> ../../../../libstdc++/bits/string.tcc:184: warning: called from here
> ../../../../libstdc++/bits/basic_string.h: In method `class std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &)':
> ../../../../libstdc++/bits/basic_string.h:451: instantiated from `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator +=(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &)'
> ../../../../libstdc++/src/string-inst.cc:64: instantiated from here
> ../../../../libstdc++/bits/basic_string.h:675: warning: can't inline call to `class std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace<std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >, std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >, std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >, std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >)'
> ../../../../libstdc++/bits/basic_string.h:470: warning: called from here
> ../../../../libstdc++/bits/basic_string.h: In method `class std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, unsigned int, unsigned int)':
> ../../../../libstdc++/src/string-inst.cc:64: instantiated from here
> ../../../../libstdc++/bits/basic_string.h:541: warning: can't inline call to `class std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign<std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >, std::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >)'
> ../../../../libstdc++/bits/basic_string.h:523: warning: called from here
> make[3]: *** [stringMAIN.lo] Error 1
> make[3]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++/src'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++'
> make[1]: *** [all-recursive-am] Error 2
> make[1]: Leaving directory `/usr/local/src/gcc-2.95.2/bld-libstdc++/i686-pc-linux-gnu/libstdc++'
> make: *** [all-target-libstdc++] Error 2
>
More information about the Libstdc++
mailing list