Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 413427 - sys-libs/glibc-2.14.1-r3 with gcc-4.3 - ../sysdeps/x86_64/multiarch/init-arch.c:90: error: ‘bit_AVX’ undeclared (first use in this function)
Summary: sys-libs/glibc-2.14.1-r3 with gcc-4.3 - ../sysdeps/x86_64/multiarch/init-arch...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: Normal major (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-24 23:01 UTC by Paweł Rumian
Modified: 2012-08-14 16:16 UTC (History)
3 users (show)

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


Attachments
Build log (build.log,88.49 KB, text/plain)
2012-04-24 23:01 UTC, Paweł Rumian
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Paweł Rumian 2012-04-24 23:01:14 UTC
Created attachment 309975 [details]
Build log

sys-libs/glibc-2.14.1-r3 fails to build on an old i686 with gcc-4.3, build log attached.

It seems that glibc needs a dependency on minimal gcc version that supports AVX, like mentioned in an old forum post:
http://forums.gentoo.org/viewtopic-t-904048-start-0.html

Looks like the same issue was raised in bug #292888

In file included from ../nptl/sysdeps/i386/i686/../tls.h:29,
                 from ../nptl/sysdeps/i386/i686/tls.h:34,
                 from ../include/tls.h:6,
                 from ../sysdeps/i386/i486/bits/atomic.h:21,
                 from ../include/atomic.h:51,
                 from ../sysdeps/x86_64/multiarch/init-arch.c:21,
                 from ../sysdeps/i386/i686/multiarch/init-arch.c:1:
../nptl/sysdeps/pthread/list.h: In function ‘list_add’:
../nptl/sysdeps/pthread/list.h:64: warning: implicit declaration of function ‘atomic_write_barrier’
In file included from ../sysdeps/i386/i686/multiarch/init-arch.c:1:
../sysdeps/x86_64/multiarch/init-arch.c: In function ‘__init_cpu_features’:
../sysdeps/x86_64/multiarch/init-arch.c:90: error: ‘bit_AVX’ undeclared (first use in this function)
../sysdeps/x86_64/multiarch/init-arch.c:90: error: (Each undeclared identifier is reported only once
../sysdeps/x86_64/multiarch/init-arch.c:90: error: for each function it appears in.)
make[2]: *** [/var/tmp/portage/sys-libs/glibc-2.14.1-r3/work/build-default-i686-pc-linux-gnu-nptl/csu/init-arch.o] Error 1


# emerge -pqv glibc
[ebuild     U ] sys-libs/glibc-2.14.1-r3 [2.13-r4] USE="-debug -gd (-hardened) (-multilib) -profile (-selinux) -vanilla (-glibc-omitfp%)"


# emerge --info
Portage 2.1.10.49 (default/linux/x86/10.0/desktop, gcc-4.3.4, glibc-2.13-r4, 3.2.1-gentoo-r2 i686)
=================================================================
System uname: Linux-3.2.1-gentoo-r2-i686-Pentium_III_-Coppermine-with-gentoo-2.0.3
Timestamp of tree: Tue, 24 Apr 2012 21:30:01 +0000
app-shells/bash:          4.2_p20
dev-lang/python:          2.6.6-r2
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.68
sys-devel/automake:       1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.3.4
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="pl"
PKGDIR="/usr/portage/packages"
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=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acpi alsa bluetooth branding bzip2 cairo cdda cdr cli consolekit crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gdu gif gtk iconv ipv6 jpeg lcms libnotify mad mmx mng modules mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly ogg opengl pam pango pcre pdf png policykit ppds pppd readline session spell sse ssl startup-notification svg sysfs tcpd tiff truetype udev unicode usb vorbis wxwidgets x264 x86 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="intel8x0" 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" 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" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" 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"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Paweł Rumian 2012-04-24 23:05:23 UTC
Ah, the only strange thing is that sys-libs/glibc-2.13-r4 compiled fine on this machine with gcc-4.3 on 26.01.2012
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2012-04-24 23:46:37 UTC
Perhaps you should just upgrade sys-devel/gcc to something recent - 4.3.4 went stable for x86 in October 2009.
Comment 3 Paweł Rumian 2012-04-25 00:01:17 UTC
I am doing it currently :) But there was no need to do it earlier - this is a pretty old PIII 866MHz and I do not expect that newer gcc would bring any performance improvement. 

Also this vintage gcc is still in *stable* portage tree and glibc already has a minimal gcc version in DEPEND, so it simply seems to be too low.
Comment 4 SpanKY gentoo-dev 2012-04-25 02:52:06 UTC
older versions of gcc in the tree are provided for convenience, not because we support them being the main system compiler.  you can't read anything beyond that.
Comment 5 Paweł Rumian 2012-04-25 11:03:35 UTC
(In reply to comment #4)
> older versions of gcc in the tree are provided for convenience, not because
> we support them being the main system compiler.  you can't read anything
> beyond that.

I have memorized what has been written in the (as I see now - obsolete) old version of gcc upgrade guide:
"you can safely postpone upgrade as long as your GCC version is supported by Gentoo developers."
http://www.gentoo.org/doc/en/gcc-upgrading-upto-4.1.xml

In the new version there is also nothing written about the need to upgrade to the newest version.

Now I do not remember any policy of something being "supported" or not, so I assume that if something has not been wiped out of Portage tree than it is supported.

Back to the point - I have no problems with upgrading, but also I think that glibc *should* have a minimal gcc version defined if it won't compile with an older one. 
And if only newest gcc is supported as the main system compiler then I think it should be mentioned in the docs.
Comment 6 SpanKY gentoo-dev 2012-04-27 01:19:02 UTC
(In reply to comment #5)

putting a dep in the ebuild wouldn't really help.  the user must still manually run `gcc-config <new version>` to select it since we SLOT on the major.minor.

going by your own quote, "supported by Gentoo developers", that currently means the latest stable version.
Comment 7 Paweł Rumian 2012-05-01 23:06:35 UTC
(In reply to comment #6)
> putting a dep in the ebuild wouldn't really help.  the user must still
> manually run `gcc-config <new version>` to select it since we SLOT on the
> major.minor.
This is indeed a good point and I have not considered the gcc-config issue, but with this argumentation I can't understand why we currently have:

DEPEND=">=sys-devel/gcc-3.4.4
	arm? ( >=sys-devel/binutils-2.16.90 >=sys-devel/gcc-4.1.0 )
	x86? ( >=sys-devel/gcc-4.3 )
	amd64? ( >=sys-devel/binutils-2.19 >=sys-devel/gcc-4.3 )
	ppc? ( >=sys-devel/gcc-4.1.0 )
	ppc64? ( >=sys-devel/gcc-4.1.0 )
	DEPEND="${DEPEND} !crosscompile_opts_headers-only? ( ${CATEGORY}/gcc )"
Comment 8 SpanKY gentoo-dev 2012-08-14 16:16:17 UTC
(In reply to comment #7)

the idea is to catch most people, not be bullet proof

this is a bug specific to glibc-2.14 which has been fixed in glibc-2.15 (which is now stable).  since we no longer care about glibc-2.14, nothing to do here.