Summary: | libstdc++-v3 will not compile with -mtune in CFLAGS | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mark Loeser (RETIRED) <halcy0n> |
Component: | [OLD] GCC Porting | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kathywills, robmoss |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Mark Loeser (RETIRED)
2004-07-11 10:49:49 UTC
Lv, you're a plonker :-P inherit flag-o-matic filter-flags -mtune Something like that required? Also, has the flag-o-matic eclass been updated to handle -mtune (which takes options) properly yet in the same way that it supports -mcpu? -mcpu also causes bugs if using gcc 3.4, so i'm simply going to filter -mtune here. thanks for reporting this bug :) robmoss - :P :P :P # gcc 3.3 doesnt support -mtune on numerous archs, so xgcc will fail mtsetting="`get-flag mcpu`" [ ! -z "${mtsetting}" ] && filter-flags -mtune="${setting}" You seemed to have made a couple of typos here. I believe it should look like this: # gcc 3.3 doesnt support -mtune on numerous archs, so xgcc will fail mtsetting="`get-flag mtune`" [ ! -z "${mtsetting}" ] && filter-flags -mtune="${mtsetting}" The get-flag should be mtune, not mcpu, and ${mtsetting}, not ${setting}, in the filter-flags. Works for me after these changes. ...oops This didn't work for me. checking how to run the C preprocessor... /var/tmp/portage/libstdc++-v3-3.3.3-r1/work/build/gcc/xgcc -B/var/tmp/portage/libstdc++-v3-3.3.3-r1/work/build/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -E checking for sys/file.h... yes checking for sys/param.h... yes checking for limits.h... yes checking for stdlib.h... yes checking for malloc.h... yes checking for string.h... yes checking for unistd.h... yes checking for strings.h... yes checking for sys/time.h... yes checking for time.h... yes checking for sys/resource.h... yes checking for sys/stat.h... yes checking for sys/mman.h... yes checking for fcntl.h... yes checking for alloca.h... yes checking for sys/pstat.h... no checking for sys/sysmp.h... no checking for sys/sysinfo.h... yes checking for machine/hal_sysinfo.h... no checking for sys/table.h... no checking for sys/sysctl.h... yes checking for sys/systemcfg.h... no checking for sys/wait.h that is POSIX.1 compatible... no checking whether time.h and sys/time.h may both be included... no checking whether errno must be declared... yes checking for ANSI C header files... no checking for uintptr_t... no checking for pid_t... yes checking whether the C compiler ( /var/tmp/portage/libstdc++-v3-3.3.3-r1/work/build/gcc/xgcc -B/var/tmp/portage/libstdc++-v3-3.3.3-r1/work/build/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -O2 -march=pentium3 -O2 -pipe -fno-unit-at-a-time ) works... no configure: error: installation or configuration problem: C compiler cannot create executables. make: *** [configure-target-libiberty] Error 1 !!! ERROR: sys-libs/libstdc++-v3-3.3.3-r1 failed. !!! Function src_compile, Line 172, Exitcode 2 !!! (no error message) Here's my emerge info: Portage 2.0.50-r9 (default-x86-1.4, gcc-3.4.1, glibc-2.3.4.20040619-r0, 2.6.7-rc3-love2) ================================================================= System uname: 2.6.7-rc3-love2 i686 Pentium III (Coppermine) Gentoo Base System version 1.5.1 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium3 -mtune=i686 -O2 -funroll-loops -pipe -fno-unit-at-a-time" 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/kde/cvs/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium3 -mtune=i686 -O2 -funroll-loops -pipe -fno-unit-at-a-time" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://mirror.clarkson.edu/pub/distributions/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main /usr/local/bmg-gnome-current" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb cdr crypt cups doc encode esd foomaticdb gdbm gif gimp gimp-print gphoto2 gtk gtk2 imlib java jpeg kde libg++libwww mad mikmod motif mozilla mpeg ncurses nls nptl oggvorbis opengloss pam pdflib perl png python qt quicktime readline samba sdl slang spell ssl svga tcltk tcpd tetex truetype x86 xml2 xmms xv zlib" take -fno-unit-at-a-time out of cflags... looks like i'll have to mask this one too The cflag -fno-unit-at-a-time is needed for some of my other things to compile. He meant to remove it while compiling this package, since its not a 3.3.3 flag. If you resync, the ebuild should filter the flag itself now. OK. Thanks. I'll sync and try again asap. |