Summary: | GCC 3.4.0 Fails to build (dies in libiberty compilation) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Kyle Christensen <kyle> |
Component: | [OLD] Development | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | VERIFIED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | 1.4 | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Kyle Christensen
2004-04-27 13:14:22 UTC
it seems this is due to my default arch support settings... can you find the line in the ebuild that says: use x86 && myconf="${myconf} --with-cpu=pentium4 --with-arch=i586" and delete it? see if that helps. --with-cpu works on amd64, but it seems to cause trouble on other archs. fixed in cvs Portage 2.0.50-r6 (default-x86-1.4, gcc-3.3.3, glibc-2.3.2-r9, 2.6.5-grsec) ================================================================= System uname: 2.6.5-grsec i686 Pentium III (Coppermine) Gentoo Base System version 1.4.9 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.58-r1 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -mcpu=pentium3 -ffast-math -funroll-loops -fstack-protector -mmmx -msse -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config/var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -mcpu=pentium3 -ffast-math -funroll-loops -fstack-protector -mmmx -msse -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://212.219.247.13/sites/www.ibiblio.org/gentoo/ http://212.219.247.10/sites/www.ibiblio.org/gentoo/ ftp://mirrors.tds.net/gentoo rsync://mirrors.tds.net/gentoo" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/usr/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ssl x86" configure: creating ./config.status config.status: creating Makefile config.status: creating testsuite/Makefile config.status: creating config.h config.status: executing default commands Adding multilib support to Makefile in /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty multidirs= with_multisubdir= make[2]: Entering directory `/usr/tmp/portage/gcc-3.4.0/work/build/i686-pc-linux-gnu/libiberty' if [ x"-fpic" != x ] && [ ! -d pic ]; then \ mkdir pic; \ else true; fi touch stamp-picdir CONFIG_FILES= CONFIG_HEADERS=config.h:config.in /bin/sh ./config.status config.status: creating config.h config.status: config.h is unchanged config.status: executing default commands if [ x"-fpic" != x ]; then \ /usr/tmp/portage/gcc-3.4.0/work/build/gcc/xgcc -B/usr/tmp/portage/gcc-3.4.0/work/build/gcc/ -B/usr/i686-pc-llinux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linu ux-gnu/sys-include -c -DHAVE_CONFIG_H -O2 -mcpu=pentium3 -pipe -O2 -I. -I/usr/tmp/portage/gcc-3.4.0/work/gcc-3..4.0/libiberty/../include -W -Wall -Wtraditional -pedantic -fpic /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/lib biberty/regex.c -o pic/regex.o; \ else true; fi `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. In file included from /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/../include/xregex.h:26, from /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:195: /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/../include/xregex2.h:548: warning: ISO C90 does not supporrt `static' or type qualifiers in parameter array declarators In file included from /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:649: /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c: In function `byte_compile_range': /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:4548: warning: signed and unsigned type in conditiional expression /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:4558: warning: signed and unsigned type in conditiional expression /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:4558: warning: signed and unsigned type in conditiional expression /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c: In function `xregcomp': /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:8043: warning: signed and unsigned type in conditiional expression /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c: In function `xregerror': /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:8178: warning: unused parameter 'preg' /usr/tmp/portage/gcc-3.4.0/work/build/gcc/xgcc -B/usr/tmp/portage/gcc-3.4.0/work/build/gcc/ -B/usr/i686-pc-linnux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux- -gnu/sys-include -c -DHAVE_CONFIG_H -O2 -mcpu=pentium3 -pipe -O2 -I. -I/usr/tmp/portage/gcc-3.4.0/work/gcc-3.4..0/libiberty/../include -W -Wall -Wtraditional -pedantic /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/r regex.c -o regex.o `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. In file included from /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/../include/xregex.h:26, from /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:195: /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/../include/xregex2.h:548: warning: ISO C90 does not supporrt `static' or type qualifiers in parameter array declarators In file included from /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:649: /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c: In function `byte_compile_range': /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:4548: warning: signed and unsigned type in conditiional expression /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:4558: warning: signed and unsigned type in conditiional expression /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:4558: warning: signed and unsigned type in conditiional expression /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c: In function `xregcomp': /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:8043: warning: signed and unsigned type in conditiional expression /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c: In function `xregerror': /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/regex.c:8178: warning: unused parameter 'preg' if [ x"-fpic" != x ]; then \ /usr/tmp/portage/gcc-3.4.0/work/build/gcc/xgcc -B/usr/tmp/portage/gcc-3.4.0/work/build/gcc/ -B/usr/i686-pc-llinux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linu ux-gnu/sys-include -c -DHAVE_CONFIG_H -O2 -mcpu=pentium3 -pipe -O2 -I. -I/usr/tmp/portage/gcc-3.4.0/work/gcc-3..4.0/libiberty/../include -W -Wall -Wtraditional -pedantic -fpic /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/lib biberty/cplus-dem.c -o pic/cplus-dem.o; \ else true; fi `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/cplus-dem.c:55: error: conflicting types for 'malloc' /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/cplus-dem.c:55: error: conflicting types for 'malloc' /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/cplus-dem.c: In function `code_for_qualifier': /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/cplus-dem.c:630: warning: implicit declaration of functionn `abort' /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/cplus-dem.c: In function `squangle_mop_up': /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/cplus-dem.c:1154: warning: implicit declaration of functioon `free' /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/cplus-dem.c: In function `demangle_qualified': /usr/tmp/portage/gcc-3.4.0/work/gcc-3.4.0/libiberty/cplus-dem.c:3310: warning: implicit declaration of functioon `atoi' make[2]: *** [cplus-dem.o] Error 1 make[2]: Leaving directory `/usr/tmp/portage/gcc-3.4.0/work/build/i686-pc-linux-gnu/libiberty' make[1]: *** [all-target-libiberty] Error 2 make[1]: Leaving directory `/usr/tmp/portage/gcc-3.4.0/work/build' make: *** [profiledbootstrap] Error 2 !!! ERROR: sys-devel/gcc-3.4.0 failed. !!! Function src_compile, Line 468, Exitcode 2 !!! (no error message) look at your CFLAGS. take -mcpu=pentium3 out of there and either change it to -mtune or -march. Hm, this appears to have fixed it. I think it is worth mentioning that I read that although "-mcpu=" was deprecated, that since this was the first version of gcc that it was deprecated in, it was being rewritten on the fly to either march or mtune, and not totally turned off. That is why initially I didn't change it -- I figured compiling gcc with my current compiler which still knows about mcpu wouldn't hurt anything, but evidentally compiling libiberty with the new gcc (after it is built) did hurt it. Regardless, this might warrant a check in the ebuild and maybe even a die() in there, it could resolve a lot of potential problems. added logic to the ebuild to change -mcpu to -mtune on the fly. |