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

Bug 266775

Summary: || ( unstable stable[unset-flag] ) dependency causes portage to choose the unstable package
Product: Portage Development Reporter: Adam Piątyszek <ediap>
Component: CoreAssignee: Portage team <dev-portage>
Status: RESOLVED DUPLICATE    
Severity: normal CC: loki_val, SebastianLuther
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Adam Piątyszek 2009-04-19 14:55:14 UTC
Hi,

I can not merge the current stable app-text/epdfview package, because it depends on unstable dev-libs/poppler-glib-0.10.5:

ediap@tataj ~ $ emerge -av epdfview

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "~dev-libs/poppler-glib-0.10.5[cairo]" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-libs/poppler-glib-0.10.5 (masked by: ~amd64 keyword)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
(dependency required by "app-text/epdfview-0.1.6-r1" [ebuild])
(dependency required by "epdfview" [argument])

Here is the output of emerge --info on my system:
Portage 2.1.6.7 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.29-gentoo-r1 x86_64)
=================================================================
System uname: Linux-2.6.29-gentoo-r1-x86_64-Intel-R-_Core-TM-2_Duo_CPU_P8600_@_2.40GHz-with-glibc2.2.5
Timestamp of tree: Sun, 19 Apr 2009 14:30:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.7
dev-lang/python:     2.5.2-r7
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/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 /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="ftp://212.219.56.134/sites/www.ibiblio.org/gentoo/ ftp://212.219.56.132/sites/www.ibiblio.org/gentoo/ ftp://ftp.ing.umu.se/linux/gentoo/"
LANG="pl_PL.UTF-8"
LC_ALL="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="pl en"
MAKEOPTS="-s -j3"
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/portage/local/layman/science /usr/portage/local/layman/x11 /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 bash-completion berkdb bluetooth bzip2 cli cracklib crypt cups dbus dri emacs exif fortran gdbm gif gpm gtk hal iconv isdnlog jpeg libnotify midi mmx mudflap multilib ncurses nls nptl nptlonly opengl openmp pam pcre perl png pppd python readline reflection session spell spl sse sse2 ssl startup-notification sysfs tcpd truetype unicode xinerama xorg xscreensaver 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" LINGUAS="pl en" USERLAND="GNU" VIDEO_CARDS="intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

BR,
/Adam
Comment 1 Peter Alfredsen (RETIRED) gentoo-dev 2009-04-19 15:51:38 UTC
You have some of the unstable poppler-libs keyworded.
See http://xrl.us/bephtt for a list of which ebuilds to keyword or not keyword, depending on whether you want the stable or the unstable versions of poppler.
Comment 2 Adam Piątyszek 2009-04-19 16:19:20 UTC
Hi Peter,

I have none poppler* packages keyworded at all:

ediap@tataj ~/tmp/mc_cc $ cat /etc/portage/package.keywords/* |grep pop
ediap@tataj ~/tmp/mc_cc $ 

Here is what I have installed:

ediap@tataj ~/tmp/mc_cc $ eix -I poppler
[I] app-text/poppler
     Available versions:  0.8.7 0.10.4 ~0.10.5 0.10.5-r1 {cjk doc jpeg zlib}
     Installed versions:  0.10.5-r1(19:47:17 18.04.2009)(-doc)
     Homepage:            http://poppler.freedesktop.org/
     Description:         PDF rendering library based on the xpdf-3.0 code base

[I] app-text/poppler-data
     Available versions:  0.2.1
     Installed versions:  0.2.1(19:46:09 18.04.2009)
     Homepage:            http://poppler.freedesktop.org/
     Description:         Data files for poppler to support uncommon encodings without xpdfrc

[I] virtual/poppler
     Available versions:  0.8.7+v 0.10.4+v 0.10.5+v ~0.10.6+v
     Installed versions:  0.10.5+v(19:47:27 18.04.2009)
     Homepage:            http://poppler.freedesktop.org/
     Description:         Virtual package, includes packages that contain libpoppler-glib.so

[I] virtual/poppler-utils
     Available versions:  0.8.7+v 0.10.4+v 0.10.5+v ~0.10.6+v {abiword}
     Installed versions:  0.10.5+v(19:47:23 18.04.2009)(abiword)
     Homepage:            http://poppler.freedesktop.org/
     Description:         Virtual package, includes packages that contain the psto* utilities


app-text/poppler is installed as a dependency for virtual/poppler, which is required by dev-tex/luatex-0.30.3 on my system.

What I was trying to report here is the fact that the poppler-glib package is keyworded as ~amd64, but it is required by the stable epdfview-0.1.6-r1:

ediap@tataj ~/tmp/mc_cc $ eix epdfview
* app-text/epdfview
     Available versions:  0.1.6-r1 ~0.1.7-r1 {cups debug nls test}
     Homepage:            http://trac.emma-soft.com/epdfview/
     Description:         Lightweight PDF viewer using Poppler and GTK+ libraries.

ediap@tataj ~/tmp/mc_cc $ eix poppler-glib
* dev-libs/poppler-glib
     Available versions:  ~0.10.5 ~0.10.6 {cairo}
     Homepage:            http://poppler.freedesktop.org/
     Description:         Glib bindings for poppler

* virtual/poppler-glib
     Available versions:  0.8.7+v 0.10.4+v 0.10.5+v ~0.10.6+v {cairo}
     Homepage:            http://poppler.freedesktop.org/
     Description:         Virtual package, incl

I know, that I can unmask/keyword some of the dependencies, but this bug report is for stable system.

Hope this clarifies the situation.

/Adam
Comment 3 Peter Alfredsen (RETIRED) gentoo-dev 2009-04-19 16:41:35 UTC
epdfview depends on:
>=virtual/poppler-glib-0.5.0[cairo]
Which can be satisfied by either poppler-bindings[gtk,cairo]
USE="cairo gtk" emerge -1 poppler-bindings
should solve your problems in other words. I am puzzled by portage pulling in poppler-glib. It really shouldn't.
Can you confirm that the proposed fix works?
Comment 4 Adam Piątyszek 2009-04-19 17:28:50 UTC
Yes this solves the problem. Adding "app-text/poppler-bindings cairo" to /etc/portage/package.use results in correct calculation of dependencies by portage:

tataj ~ # emerge -av epdfview

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] app-text/poppler-bindings-0.10.5-r1  USE="cairo gtk -qt3 -qt4 -test" 0 kB
[ebuild  N    ] virtual/poppler-glib-0.10.5  USE="cairo" 0 kB
[ebuild  N    ] app-text/epdfview-0.1.6-r1  USE="cups nls -test" 0 kB

Without the cairo flag, portage requests me to unmask "poppler-glib".

/Adam
Comment 5 Peter Alfredsen (RETIRED) gentoo-dev 2009-04-19 17:40:11 UTC
IMO, portage should never say that the needed package is the unstable one in this situation.
I'll probably fix this by making virtual/poppler*-0.10.5 depend on only app-text/poppler{,-bindings}
Comment 6 Zac Medico gentoo-dev 2009-04-19 17:57:28 UTC
(In reply to comment #5)
> IMO, portage should never say that the needed package is the unstable one in
> this situation.
> I'll probably fix this by making virtual/poppler*-0.10.5 depend on only
> app-text/poppler{,-bindings}
> 

If you just reorder the it so the preferred package is on the left then that will probably solve it.
Comment 7 Peter Alfredsen (RETIRED) gentoo-dev 2009-04-19 18:06:30 UTC
*nod*, but if I touch the virtuals, I might as well remove the split popplers from consideration, since they're due to be punted anyway ( bug 263028 )
Comment 8 Sebastian Luther (few) 2009-06-27 20:29:35 UTC
Without either the ability to do a look ahead (which seems impractical) or the ability to take back decisions (bug 1343), this isn't going to be solved.

*** This bug has been marked as a duplicate of bug 1343 ***