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

Bug 398833

Summary: sys-apps/portage-2.1.10.44: irrelevant parent shown in unmask message's dependency chain
Product: Portage Development Reporter: Richard Yao (RETIRED) <ryao>
Component: Core - Interface (emerge)Assignee: Portage team <dev-portage>
Status: RESOLVED OBSOLETE    
Severity: enhancement    
Priority: Normal    
Version: 2.1   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=375265
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 375265    
Bug Blocks: 376695    
Attachments: emerge -p -uDN world --debug output from variation of issue

Description Richard Yao (RETIRED) gentoo-dev 2012-01-14 01:07:11 UTC
I made a decision a while back to keep my systems on glibc-2.11.3. Recently, dev-lang/polyml-5.4.1 entered the tree with the dependency 'threads? ( >=sys-libs/glibc-2.13 )'.

My system uses ~amd64, but I have 'sys-libs/glibc -~amd64' in /etc/portage/package.keywords/custom and '>=sys-libs/glibc-2.12' in /etc/portage/package.mask/custom.

After lang/polyml-5.4.1, emerge displayed the following, which is unhelpful in diagnosing the cause:

The following keyword changes are necessary to proceed:                                                                                                                                                                                                                        
#required by virtual/libc-0, required by @system, required by @world (argument)                                                                                                                                                                                                
=sys-libs/glibc-9999 **                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                               
The following mask changes are necessary to proceed:                                                                                                                                                                                                                           
#required by virtual/libc-0, required by @system, required by @world (argument)                                                                                                                                                                                                
# /etc/portage/package.mask:                                                                                                                                                                                                                                                   
=sys-libs/glibc-9999

Then after commenting the line in /etc/portage/package.mask/custom and running emerge with 'emerge --jobs --keep-going --with-bdeps=y -avDuN @world --exclude sys-libs/glibc:2.2', I was able to get it to print a message that explained the cause:

!!! The following update has been skipped due to unsatisfied dependencies:                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                               
dev-lang/polyml:0                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                               
!!! All ebuilds that could satisfy ">=sys-libs/glibc-2.13" have been masked.                                                                                                                                                                                                   
!!! One of the following masked packages is required to complete your request:                                                                                                                                                                                                 
- sys-libs/glibc-9999::gentoo (masked by: missing keyword)                                                                                                                                                                                                                     
- sys-libs/glibc-2.15::gentoo (masked by: missing keyword)                                                                                                                                                                                                                     
- sys-libs/glibc-2.14.1-r2::gentoo (masked by: ~amd64 keyword)                                                                                                                                                                                                                 
- sys-libs/glibc-2.14.1-r1::gentoo (masked by: ~amd64 keyword)                                                                                                                                                                                                                 
- sys-libs/glibc-2.14.1::gentoo (masked by: ~amd64 keyword)                                                                                                                                                                                                                    
- sys-libs/glibc-2.14::gentoo (masked by: ~amd64 keyword)                                                                                                                                                                                                                      
- sys-libs/glibc-2.13-r4::gentoo (masked by: exclude option)                                                                                                                                                                                                                   
- sys-libs/glibc-2.13-r2::gentoo (masked by: ~amd64 keyword)                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                               
(dependency required by "dev-lang/polyml-5.4.1[threads]" [ebuild])                                                                                                                                                                                                             
For more information, see the MASKED PACKAGES section in the emerge                                                                                                                                                                                                            
man page or refer to the Gentoo Handbook.

It would be much more helpful in portage could print this kind of diagnostic information when in the original configuration.

Here is my system information:

# emerge --info portage
Portage 2.1.10.44 (default/linux/amd64/10.0/desktop/kde, gcc-4.4.6, glibc-2.11.3, 3.1.6 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.1.6-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-gentoo-2.1
Timestamp of tree: Sat, 14 Jan 2012 00:15:01 +0000
ccache version 3.1.7 [enabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.10.3, 1.11.2
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.4.6-r1
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.2 (virtual/os-headers)
sys-libs/glibc:           2.11.3
Repositories: gentoo local_overlay mythtv sunrise vmware bitcoin sabayon pinkbyte
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -mtune=core2 -mcx16 -msahf -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /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"
CXXFLAGS="-march=core2 -mtune=core2 -mcx16 -msahf -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs buildpkg ccache distlocks ebuild-locks fixlafiles multilib-strict news parallel-fetch parallel-install protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS="-march=core2 -mtune=core2 -mcx16 -msahf -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -O2 -pipe"
GENTOO_MIRRORS="http://mirror.lug.udel.edu/pub/gentoo/ http://gentoo.osuosl.org/ ftp://mirrors.rit.edu/gentoo/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common"
LINGUAS="en"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/mythtv_portage/Gentoo /var/lib/layman/sunrise /var/lib/layman/vmware /var/lib/layman/bitcoin /var/lib/layman/sabayon /var/lib/layman/pinkbyte"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X a52 aac acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdda cdr cjk cli consolekit cracklib crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam ffmpeg fftw firefox flac fontconfig fortran gdbm gdu gif gnutls gpm iconv ipv6 java jpeg kde kipi lcms ldap libnotify lzma mad mmap mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds pppd qt3support qt4 readline sdl session spell sse sse2 sse3 ssl ssse3 startup-notification svg sysfs tcpd theora tiff truetype udev unicode usb vdpau vorbis x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid xvmc zlib zsh-completion" ALSA_CARDS="hda-intel hpet hrtimer" 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 stage tables krita karbon braindump" CAMERAS="*" 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 synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="mips mips64 mips64el mipsel x86_64" QEMU_USER_TARGETS="mips mipsel 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"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

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

sys-apps/portage-2.1.10.44 was built with the following:
USE="(consolekit) (ipc) (multilib) (policykit) -build -doc -epydoc -python2 -python3 (-selinux)" LINGUAS="-pl"

I have decided to stick with sys-apps/glibc-2.11.3 for the time being by using the workaround I described above. If additional information is necessary to understand why portage does not provide useful information in this situation, I will do my best to provide it.
Comment 1 Zac Medico gentoo-dev 2012-01-16 17:40:57 UTC
This seems like a case of bug 375265 that still isn't handled well.
Comment 2 Sebastian Luther (few) 2012-02-25 20:24:37 UTC
I have a really hard to time to reproduce this. Are you still able to reproduce this? If yes, please attach the output of the first command with --debug added.
Comment 3 Richard Yao (RETIRED) gentoo-dev 2012-02-26 12:32:02 UTC
Created attachment 303319 [details]
emerge -p -uDN world --debug output from variation of issue

I upgraded to sys-libs/glibc-2.13 recently, which has stripped me of my ability to reproduce the original issue.

I can produce a related issue by downgrading to =dev-lang/polyml-5.2.1, copying =dev-lang/polyml-5.4.1 into a local overlay and modifying it to depend on >=sys-libs/glibc-2.14, which is not keyworded on my system. emerge will not display any knowledge of the issue that prevents the =dev-lang/polyml-5.4.1 upgrade.

I had a conversation with Sebastian in IRC. I have attached the output of emerge -p -uDN world --debug.
Comment 4 Richard Yao (RETIRED) gentoo-dev 2012-02-26 13:42:30 UTC
It turned out that dev-lang/polyml somehow escaped inclusion in my world file when I was trying to reproduce this.

With that said, I can no longer reproduce this issue with 2.1.10.49, so I suspect that the issue has already been fixed. I am closing this as obsolete.