Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 446744

Summary: dev-libs/boost asks for glibc downgrade (2.16 → 2.15) on x32 profile
Product: Gentoo Linux Reporter: Alex Mtx <vertexSymphony>
Component: [OLD] DevelopmentAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Severity: normal CC: kripton, pinkbyte
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 393673    

Description Alex Mtx 2012-12-10 14:37:15 UTC
I just downloaded the x32 for testing (after looking at reported bugs for "show-stoppers" for me) and did some setup to finally try to install kde-meta.

Thing is that kde-meta pulls in dev-libs/boost (1.49.0-r2) which asks for an older sys-libs/glibc (2.15-r3) than I currently have (2.16.0), breaking the whole build process.

As stated on the original RC of the x32 stage3, glibc 2.16 is preferred to 2.15 (which sports backports).

¿Any idea on the situation? (why does boost requires an older libc?)

Reproducible: Always

Steps to Reproduce:
1. Install x32 stage and do some basic setup (like CFLAGS and general USEs)
2. emerge --ask dev-libs/boost
Actual Results:  
Sylbit / # emerge kde-meta
Calculating dependencies... done!

>>> Verifying ebuild manifests
>>> Running pre-merge checks for media-libs/glu-9.0.0
>>> Running pre-merge checks for kde-base/kdelibs-4.9.4-r1

>>> Starting parallel fetch

>>> Emerging (1 of 562) sys-libs/glibc-2.15-r3
 * glibc-2.15.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                                                                   [ ok ]
 * glibc-ports-2.15.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                                                             [ ok ]
 * glibc-2.15-patches-23.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                                                       [ ok ]
 * Sanity check to keep you from breaking your system:
 *  Downgrading glibc is not supported and a sure way to destruction
 * ERROR: sys-libs/glibc-2.15-r3 failed (setup phase):
 *   aborting to save your system
 * Call stack:
 *    , line  93:  Called pkg_setup
 *   glibc-2.15-r3.ebuild, line 175:  Called eblit-run 'pkg_setup'
 *   glibc-2.15-r3.ebuild, line 161:  Called eblit-glibc-pkg_setup
 *        pkg_setup.eblit, line  55:  Called die
 * The specific snippet of code:
 *                      die "aborting to save your system"
 * If you need support, post the output of `emerge --info '=sys-libs/glibc-2.15-r3'`,
 * the complete build log and the output of `emerge -pqv '=sys-libs/glibc-2.15-r3'`.
 * The complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.15-r3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.15-r3/temp/die.env'.
 * Working directory: '/var/tmp/portage/sys-libs/glibc-2.15-r3'
 * S: '/var/tmp/portage/sys-libs/glibc-2.15-r3/work/glibc-2.15'

>>> Failed to emerge sys-libs/glibc-2.15-r3, Log file:


Sylbit / # emerge --info
Portage (default/linux/amd64/10.0/x32, gcc-4.7.1, glibc-2.16.0, 3.6.8-gentoo x86_64)
System uname: Linux-3.6.8-gentoo-x86_64-AMD_Phenom-tm-_8650_Triple-Core_Processor-with-gentoo-2.1
Timestamp of tree: Mon, 10 Dec 2012 00:15:01 +0000
ld GNU ld (GNU Binutils) 2.22
app-shells/bash:          4.2_p37
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.68
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.7.1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo
CFLAGS="-march=native -O2 -pipe"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
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"
USE="X acl amd64 berkdb bzip2 cli consolekit cracklib crypt cups cxx dbus dri egl fortran gallium gdbm gles2 gpm iconv ipv6 kde kipi lzma mmx modules mudflap multilib ncurses nls nptl ogg opengl openmp openvg pam pcre phonon plasma policykit pppd pulseaudio qt3support readline semantic-desktop session sse sse2 ssl tcpd threads unicode vdpau vorbis zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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="authn_core authz_core socache_shmcb unixd 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="samsung ptp2 canon" 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" GRUB_PLATFORMS="pc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="es fr es_LA" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nouveau" 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"
Comment 1 Rafał Mużyło 2012-12-10 15:25:16 UTC
Well, as you've already keyworded glibc, the natural next step would be to keyword boost and and then see if anything else needs to be keyworded by 'emerge -upvD @world' and/or revdep-rebuild.
Comment 2 Sergey Popov gentoo-dev 2012-12-10 15:42:35 UTC
You use ~arch glibc, so IMO you should use ~arch boost too, as have already said earlier
Comment 3 Alex Mtx 2012-12-10 16:02:20 UTC
(In reply to comment #1)
> Well, as you've already keyworded glibc, the natural next step would be to
> keyword boost and and then see if anything else needs to be keyworded by
> 'emerge -upvD @world' and/or revdep-rebuild.

Actually I didn't keyword glibc by myself, actually the profile was the one doing it:


Sylbit linux # cat /usr/portage/profiles/arch/amd64/x32/package.keywords 
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/arch/amd64/x32/package.keywords,v 1.10 2012/12/06 06:26:14 vapier Exp $

# We need newer versions of toolchain packages.
~sys-apps/sandbox-2.6 amd64
~sys-devel/gcc-4.7.1 amd64
~sys-libs/glibc-2.16.0 amd64


I forgot to keyword boost-build too (dummy me), but still the issue remains of default glibc (as marked by the profile) not being compatible with a package.

maybe keywording boost and boost-build in the profile up to 1.52 could be an option to keep things compiling ... but on the other hand that also pulls in boost 1.52 bugs
Comment 4 Sergey Popov gentoo-dev 2012-12-10 16:04:57 UTC
CCing toolchain maintainers(do not really know who is responsible for x32 profile)
Comment 5 Diego Elio Pettenò (RETIRED) gentoo-dev 2012-12-10 19:02:11 UTC
You cannot use stable keywords for x32. Please go to ~amd64.
Comment 6 SpanKY gentoo-dev 2012-12-10 23:58:22 UTC
(In reply to comment #5)

that's not really true.  stable keywords for x32 work fine, ignoring general gcc-4.7 and glibc-2.16 issues.  but even then, stage building and most stable packages now work with glibc-2.16/gcc-4.7.
Comment 7 Alex Mtx 2012-12-11 14:45:17 UTC
(In reply to comment #5)
> You cannot use stable keywords for x32. Please go to ~amd64.

That's really discouraging for me ... 
Telling me to go all unstable (even with unrelated software) because of 1 package failing to get along with the version of libc doesn't look good for me ... because I kept installing the things I needed and havent found one single problem for the "stable" versions of packages.

if x32 had the requirement of newer packages on certain areas, a keyword counting on the version (<=) could be put in place and the whole system kept "stable".

The solution for me was raising the boost/boost-build version by keywording it (checking the bugtracker before to see if there's a deal-breaker for me; thankfully not), but it was nice to drop the notice here to see if things could be made more smooth to other people.