Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 434570 - sys-devel/gcc-4.6.3: filtering gcc-4.7+ flags or build fails
Summary: sys-devel/gcc-4.6.3: filtering gcc-4.7+ flags or build fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-10 11:14 UTC by Justin Lecher (RETIRED)
Modified: 2019-12-29 10:51 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,568.40 KB, text/plain)
2012-09-10 11:15 UTC, Justin Lecher (RETIRED)
Details
config.log (config.log,41.50 KB, text/plain)
2012-09-10 11:16 UTC, Justin Lecher (RETIRED)
Details
config.log (config.log,14.15 KB, text/plain)
2012-09-10 11:39 UTC, Justin Lecher (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Lecher (RETIRED) gentoo-dev 2012-09-10 11:14:46 UTC
rm -f include-fixed/README
cp /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/gcc/../fixincludes/README-fixinc include-fixed/README
chmod a+r include-fixed/README
echo timestamp > stmp-int-hdrs
rm gcc.pod
make[3]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.6.3/work/build/gcc'
mkdir -p -- x86_64-pc-linux-gnu/libgcc
Checking multilib configuration for libgcc...
Configuring stage 1 in x86_64-pc-linux-gnu/libgcc
configure: creating cache ./config.cache
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for x86_64-pc-linux-gnu-ar... /usr/x86_64-pc-linux-gnu/bin/ar
checking for x86_64-pc-linux-gnu-lipo... lipo
checking for x86_64-pc-linux-gnu-nm... /var/tmp/portage/sys-devel/gcc-4.6.3/work/build/./gcc/nm
checking for x86_64-pc-linux-gnu-ranlib... /usr/x86_64-pc-linux-gnu/bin/ranlib
checking for x86_64-pc-linux-gnu-strip... /usr/x86_64-pc-linux-gnu/bin/strip
checking whether ln -s works... yes
checking for x86_64-pc-linux-gnu-gcc... /var/tmp/portage/sys-devel/gcc-4.6.3/work/build/./gcc/xgcc -B/var/tmp/portage/sys-devel/gcc-4.6.3/work/build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include   
checking for suffix of object files... configure: error: in `/var/tmp/portage/sys-devel/gcc-4.6.3/work/build/x86_64-pc-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.6.3/work/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.6.3/work/build'
make: *** [bootstrap-lean] Error 2
emake failed
 * ERROR: sys-devel/gcc-4.6.3 failed (compile phase):
 *   emake failed with bootstrap-lean
 * 
 * Call stack:
 *     ebuild.sh, line   85:  Called src_compile
 *   environment, line 4204:  Called toolchain_src_compile
 *   environment, line 4848:  Called gcc_do_make
 *   environment, line 2508:  Called die
 * The specific snippet of code:
 *       emake LDFLAGS="${LDFLAGS}" STAGE1_CFLAGS="${STAGE1_CFLAGS}" LIBPATH="${LIBPATH}" BOOT_CFLAGS="${BOOT_CFLAGS}" ${GCC_MAKE_TARGET} || die "emake failed with ${GCC_MAKE_TARGET}";



$ einfo =sys-devel/gcc-4.6.3
Portage 2.2.0_alpha125 (default/linux/amd64/10.0, gcc-4.7.1-asneeded, glibc-2.15-r2, 3.5.3-lh x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.5.3-lh-x86_64-Intel-R-_Core-TM-_i7-2600_CPU_@_3.40GHz-with-gentoo-2.2
Timestamp of tree: Mon, 10 Sep 2012 06:00:02 +0000
distcc[24538] (dcc_set_trace_from_env) ERROR: failed to open logfile /var/log/distcc.log: Permission denied [disabled]
ccache version 3.1.8 [enabled]
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.12
dev-lang/python:          2.6.8, 2.7.3-r2, 3.1.5, 3.2.3-r1
dev-util/ccache:          3.1.8
dev-util/cmake:           2.8.9
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.6, 1.12.3
sys-devel/binutils:       2.22.90
sys-devel/gcc:            4.4.7, 4.5.4, 4.6.3, 4.7.1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.5 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo sunrise bicatali betagarden dummy neurogeek science last-hope g-ctan
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g -Wimplicit-function-declaration"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/eselect/ /usr/share/gnupg/qualified.txt /usr/share/nano/ /usr/share/openvpn/easy-rsa /var/lib/hsqldb"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g -Wenum-compare"
DISTDIR="/mnt/sdd/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=4 --load-average=12 -t --keep-going --autounmask-write --autounmask --quiet-build=n"
FCFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g"
FEATURES="assume-digests binpkg-logs buildsyspkg ccache collision-protect distlocks ebuild-locks fixlafiles metadata-transfer multilib-strict news noinfo parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms sign split-log splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g"
GENTOO_MIRRORS=" /mnt/tmpfs/ http://gentoo.j-schmitz.net/mirror/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/"
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common"
LINGUAS="en"
MAKEOPTS="-j16 -l12"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="xz"
PORTAGE_COMPRESS_FLAGS="-z -e -9 -v"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/local/overlays/sunrise-reviewed /local/overlays/bicatali /local/overlays/betagarden /local/overlays/dummy /local/overlays/neurogeek /local/overlays/sci /local/overlays/lh/ebuilds /local/overlays/g-ctan"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl alsa amd64 avx bash-completion berkdb branding bzip2 cairo caps cli cracklib crypt cups cxx dbus dri fortran gdbm gif gmp gnome gnome-keyring gpm gstreamer gtk iconv icu ipv6 jpeg jpeg2k mmx mmxext modules mudflap multilib ncurses network-cron nls nptl nsplugin numa opengl openmp pam pcre png pppd pulseaudio qt3support raw readline session smp sse sse2 sse3 sse4 sse4_1 sse4a ssl startup-notification tcpd threads tiff truetype unicode vaapi vdpau xinerama zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="plymouth" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" PYTHON_TARGETS="pypy1_9 python3_1 python3_2 python2_6 python2_7" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.6 2.7 3.1 3.2 2.7-pypy-1.9"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

sys-devel/gcc-4.6.3 was built with the following:
USE="cxx fortran graphite mudflap (multilib) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -go -gtk (-hardened) (-libssp) -multislot -nocxx -nopie -nossp -objc -objc++ -objc-gc -test -vanilla"
CFLAGS="-O2 -pipe -march=corei7-avx -mtune=corei7-avx -mno-movbe -mno-abm -mno-lwp -mno-fma4 -mno-xop -mno-bmi -mno-tbm -g -Wimplicit-function-declaration"
CXXFLAGS="-O2 -pipe -march=corei7-avx -mtune=corei7-avx -mno-movbe -mno-abm -mno-lwp -mno-fma4 -mno-xop -mno-bmi -mno-tbm -g -Wenum-compare"
Comment 1 Justin Lecher (RETIRED) gentoo-dev 2012-09-10 11:15:06 UTC
Created attachment 323400 [details]
build.log

build.log
Comment 2 Justin Lecher (RETIRED) gentoo-dev 2012-09-10 11:16:01 UTC
Created attachment 323402 [details]
config.log

config.log
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2012-09-10 11:36:32 UTC
Comment on attachment 323402 [details]
config.log

That's not the config.log for the configure script that emitted the "cannot compute" message.
Comment 4 Justin Lecher (RETIRED) gentoo-dev 2012-09-10 11:39:13 UTC
Created attachment 323404 [details]
config.log

Right, here it is.
Comment 5 Justin Lecher (RETIRED) gentoo-dev 2012-09-10 11:41:29 UTC
4.7 flags used with 4.6.

Sorry for the noise.
Comment 6 SpanKY gentoo-dev 2012-09-11 07:00:13 UTC
we hit this in every upgrade.  we really need a generic solution.
Comment 7 Ryan Hill (RETIRED) gentoo-dev 2012-09-12 06:01:26 UTC
Why aren't you just using -march=native?  The only reasons I know of where you'd want to spell it out is for distcc or to set -mtune for versions prior to 4.6 where there was no core2 cost model.  Neither seems to apply in your case.

I'm not sure how we could strip flags unknown to the compiler being built.  Until it's built we don't know what flags it'll accept and by then it's too late.
Comment 8 SpanKY gentoo-dev 2012-09-13 07:31:00 UTC
for bootstrap builds, we can build up the xgcc first, then filter all of the cflags using that
Comment 9 Ryan Hill (RETIRED) gentoo-dev 2012-09-16 03:03:08 UTC
True, but how do you replace the flags in the middle of the build?
Comment 10 Sergei Trofimovich (RETIRED) gentoo-dev 2019-12-29 10:43:35 UTC
Specifically unrecognized options by gcc-4.6 are:

cc1: error: unrecognized command line option '-mno-bmi2'
cc1: error: unrecognized command line option '-mno-avx2'
cc1: error: unrecognized command line option '-mno-lzcnt'
Comment 11 Sergei Trofimovich (RETIRED) gentoo-dev 2019-12-29 10:51:08 UTC
(In reply to Sergei Trofimovich from comment #10)
> Specifically unrecognized options by gcc-4.6 are:
> 
> cc1: error: unrecognized command line option '-mno-bmi2'
> cc1: error: unrecognized command line option '-mno-avx2'
> cc1: error: unrecognized command line option '-mno-lzcnt'

Was fixed in https://gitweb.gentoo.org/repo/gentoo/historical.git/commit/?id=da08caf94f4481b53bfa1923de09fe447dfc549a as:

+       isalist+=("-mno-lzcnt 4.7")
+       isalist+=("-mno-bmi2 4.7")
+       isalist+=("-mno-avx2 4.7")

Tested on sys-devel/gcc-4.6.4-r3 with C{,XX}FLAGS from #comment1.