Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 261670 - portage-2.2_rc23: usepkgonly fails with multilib packages
Summary: portage-2.2_rc23: usepkgonly fails with multilib packages
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Portage team
Depends on:
Blocks: 210077 261959
  Show dependency tree
Reported: 2009-03-08 11:28 UTC by Francisco J. Vazquez
Modified: 2009-03-13 20:44 UTC (History)
3 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description Francisco J. Vazquez 2009-03-08 11:28:22 UTC
I don't know if this is a bug or the intended behaviour, but I cannot emerge binary packages that use -m32 (grub, wine) with --usepkgonly. I get this error:

franjva@quad00 ~ $ sudo emerge -1K grub
Calculating dependencies... done!

!!! All ebuilds that could satisfy "sys-boot/grub" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-boot/grub-0.97-r9 (masked by: CHOST: i686-pc-linux-gnu)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

Reproducible: Always

Steps to Reproduce:
1. emerge --buildpkg grub
2. emerge -K grub

Actual Results:  
2nd emerge fails with the aforementioned error

Expected Results:  
2nd emerge uses the binary package built in the previous emerge

franjva@quad00 ~ $ emerge --info
Portage 2.2_rc23 (default/linux/amd64/2008.0/desktop, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.29-rc7 x86_64)
System uname: Linux-2.6.29-rc7-x86_64-Intel-R-_Core-TM-2_Quad_CPU_@_2.40GHz-with-glibc2.2.5
Timestamp of tree: Sun, 08 Mar 2009 00:30:01 +0000
app-shells/bash:     3.2_p48-r1
dev-lang/python:     2.5.4-r2
dev-util/cmake:      2.6.3
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r1
sys-apps/sandbox:    1.3.9
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19.1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CFLAGS="-march=core2 -O2 -pipe"
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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=core2 -O2 -pipe"
FEATURES="buildpkg distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTDIR_OVERLAY="/usr/local/portage/layman/gnome /usr/local/portage/overlay"
USE="X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode fbcon firefox flac fortran gdbm gif gnome gnome-keyring gpm gstreamer gtk hal iconv ipv6 isdnlog jingle joystick jpeg jpeg2k kde libnotify mad midi mikmod mmx mng mp3 mpeg mudflap multilib nautilus ncurses nls nptl nptlonly nvidia ogg opengl openmp pam pcre pdf perl png pppd python qt3support quicktime readline reflection sdl session spell spl sse sse2 ssl startup-notification subversion svg sysfs tcpd threads tiff truetype unicode usb v4l2 vorbis x264 xml xorg xulrunner xv xvid 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="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 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" ELIBC="glibc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="intel nv nvidia"
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-09 18:17:47 UTC
Reassigning to portage team, CCing maintainer.
Comment 2 Zac Medico gentoo-dev 2009-03-09 20:02:47 UTC
It should work if you set this in make.conf:

ACCEPT_CHOSTS="x86_64-pc-linux-gnu i686-pc-linux-gnu"

I suppose we might want to add this setting to the amd64 profiles. However, in a way it defeats the purpose of ACCEPT_CHOSTS because it's conceivable that you wouldn't want to accept CHOST=i686-pc-linux-gnu from some packages...
Comment 3 Zac Medico gentoo-dev 2009-03-09 21:01:13 UTC
I'm told that the multilib_toolchain_setup function in multilib.eclass is what's responsible for changing the CHOST.
Comment 4 solar (RETIRED) gentoo-dev 2009-03-09 21:27:24 UTC
This looks like the commit that broke it.

It should restore the environment before the pkgmgr saves the env.
Comment 5 Zac Medico gentoo-dev 2009-03-09 23:33:06 UTC
In svn r12810 I've added a QA Notice that is triggered if CHOST at install time differs from the initial CHOST setting.
Comment 6 Zac Medico gentoo-dev 2009-03-10 09:33:03 UTC
(In reply to comment #5)
> In svn r12810 I've added a QA Notice that is triggered if CHOST at install time
> differs from the initial CHOST setting.

This warning is included in portage-2.2_rc24.
Comment 7 Zac Medico gentoo-dev 2009-03-12 06:06:20 UTC
(In reply to comment #4)
> This looks like the commit that broke it.
> It should restore the environment before the pkgmgr saves the env.

I can make portage store the original CHOST, regardless of what the ebuild has done. Is that how we want to handle this?
Comment 8 SpanKY gentoo-dev 2009-03-12 06:54:25 UTC
if anything, the package is more truthful about what's going on.  these are packages which are not native to the default CHOST.  they're native to the CHOST that the multilib function changed it to.

until portage gets properly multilib support (which is probably never anyways), then feel free to simply ignore the CHOST after the emerge has started.

note that i have no clue what this bug is about in the first place ... or what this "ACCEPT_CHOST" business is for ...
Comment 9 Zac Medico gentoo-dev 2009-03-12 07:20:18 UTC
(In reply to comment #8)
> then feel free to simply ignore the CHOST after the emerge has started.

Ok, we'll just ignore it then. It's fixed in svn r13088 to revert the CHOST to the initial value.
Comment 10 Zac Medico gentoo-dev 2009-03-12 10:07:34 UTC
This is fixed in 2.2_rc25 which is in package.mask. I'll close this bug when
it's also released in
Comment 11 Zac Medico gentoo-dev 2009-03-13 20:44:19 UTC
This is released in