Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 319611 - media-libs/libpng-1.2.43-r2 is blocking itself?
Summary: media-libs/libpng-1.2.43-r2 is blocking itself?
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-13 20:21 UTC by tanstaafl@libertytrek.org
Modified: 2010-05-14 13:15 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tanstaafl@libertytrek.org 2010-05-13 20:21:20 UTC
I waited a few days to see if this was a temporary mistake, but apparently not.

For some reason, the current/stable version of libpng, as of 5/10/10, was hard masked at the same time the new/updated 1.2.43-r2 was unmasked, but apparently because of the slot change *and* the hard mask, has caused an irresolvable block:

myhost : Thu May 11, 06:11:52 : ~
 # emerge -pvuDN world

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

Calculating dependencies... done!
[ebuild  NS   ] media-libs/libpng-1.2.43-r2 [1.2.40] 527 kB [0]
[ebuild     U ] media-libs/libpng-1.2.43-r1 [1.2.40] 0 kB [0]
[blocks B     ] <media-libs/libpng-1.2.43-r2 ("<media-libs/libpng-1.2.43-r2" is blocking media-libs/libpng-1.2.43-r2)

Total: 3 packages (2 upgrades, 1 in new slot), Size of downloads: 527 kB
Conflict: 1 block (1 unsatisfied)

<snip blocking commentary>

Equery says the only thing depending on libpng is php - does this mean it is a php ebuild bug?

myhost : Thu May 11, 06:15:21 : ~
 # equery depends libpng
[ Searching for packages depending on libpng... ]
dev-lang/php-5.2.13 (cjk & !gd & !gd-external? media-libs/libpng)
                    (exif&!gd&!gd-external? media-libs/libpng)
                    (gd? media-libs/libpng)
                    (truetype&!gd&!gd-external? media-libs/libpng)
                    (xpm? media-libs/libpng)
myhost : Thu May 11, 06:15:25 : ~
 # 

myhost : Thu May 11, 06:25:25 : ~
 # emerge --info
Portage 2.1.8.3 (default/linux/amd64/10.0/server, gcc-4.3.4, glibc-2.10.1-r1, 2.6.32-gentoo-r7 x86_64)
=================================================================
System uname: Linux-2.6.32-gentoo-r7-x86_64-AMD_Opteron-tm-_Processor_244-with-gentoo-1.12.13
Timestamp of tree: Thu, 13 May 2010 10:00:01 +0000
app-shells/bash:     4.0_p37
dev-lang/python:     2.5.4-r4, 2.6.4-r1
dev-python/pycrypto: 2.1.0_beta1
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.7.9-r2, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.18-r3
sys-devel/gcc:       4.3.4
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=opteron -O2"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /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"
CXXFLAGS="-march=opteron -O2"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
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/layman/whyscream /usr/local/portage/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow acl amd64 apache2 berkdb bzip2 cli cracklib crypt cups curl cxx dovecot-sasl dri fam fortran gd gdbm gpm iconv ipv6 mmx modules mudflap multilib mysql ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection sasl session snmp spl sse sse2 ssl sysfs tcpd truetype unicode vhosts xml xorg 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 auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="prefork" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa via vmware voodoo" 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, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2010-05-13 20:25:51 UTC
Do you have libpng in your world file?
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2010-05-13 20:26:36 UTC
emerge -C libpng and let portage do it's job (= pull in the correct libpng version)
Comment 3 tanstaafl@libertytrek.org 2010-05-13 20:46:39 UTC
I have two entries in my world file:

media-libs/libpng
media-libs/libpng:1.2

Be gentle, I have no idea what this means or what I would need to do to fix it...

Are you saying it doesn't need to be there?
Comment 4 tanstaafl@libertytrek.org 2010-05-13 20:52:02 UTC
(In reply to comment #2)
> emerge -C libpng and let portage do it's job (= pull in the correct libpng
> version)

That's what I started to do, but a package blocking *itself* didn't make much sense to me, so figured I'd check, and found bug 319457, and tried to add to that bug report, but got rudely slammed for trying to hijack the OP...

I'd still like to know, though, why the current/stable version (as of 5/10) was hard masked at the same time the new/updated ebuilds were unmasked, the newer of which changed slots to boot...

Doesn't seem like a good way to do it...
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2010-05-13 20:56:36 UTC
(In reply to comment #3)
> I have two entries in my world file:
> 
> media-libs/libpng
> media-libs/libpng:1.2

Remove these entries from your world file, you don't need them. Try to keep world file slim as possible. Using emerge --oneshot (same as emerge -1) will avoid adding packages there.

Bug 319457 is being handled (in fact it was just fixed in Portage, the bug is soon to be closed). That's entirely different issue. Similar. But different.
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2010-05-13 20:58:46 UTC
At any rate: 

Wait for an hour,  emerge --sync,  emerge -C libpng (remove those entries from your world file),  and all this should be good.

Please close the bug as "WORKSFORME" once you have verified.
Comment 7 Richard 2010-05-14 01:33:02 UTC
I am experiencing this bug too. I was affected by Bug 319457, but after it was resolved, the issue still persists.

It seems that cairo, qt-qui and gtk+ want media-libs/libpng-1.2.43-r2 to be installed alongside media-libs/libpng-1.2.43-r3:

# emerge --jobs --keep-going -avDuN world

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

Calculating dependencies... done!
[ebuild  NS   ] media-libs/libpng-1.2.43-r2 [1.2.43-r3] 0 kB
[blocks B     ] media-libs/libpng:1.2 ("media-libs/libpng:1.2" is blocking
media-libs/libpng-1.2.43-r2)
[blocks B     ] <media-libs/libpng-1.2.43-r3 ("<media-libs/libpng-1.2.43-r3" is
blocking media-libs/libpng-1.2.43-r3)                                           

Total: 1 package (1 in new slot), Size of downloads: 0 kB
Conflict: 2 blocks (2 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  ('installed', '/', 'media-libs/libpng-1.2.43-r3', 'nomerge') pulled in by
    media-libs/libpng required by ('installed', '/',
'dev-games/openscenegraph-2.8.2', 'nomerge')
    media-libs/libpng required by ('installed', '/', 'media-libs/vigra-1.6.0',
'nomerge')
    media-libs/libpng required by ('installed', '/', 'app-text/podofo-0.8.0',
'nomerge')
    (and 35 more)

  ('ebuild', '/', 'media-libs/libpng-1.2.43-r2', 'merge') pulled in by
    >=media-libs/libpng-1.2.43-r2:0 required by ('installed', '/',
'x11-libs/cairo-1.8.8-r1', 'nomerge')
    >=media-libs/libpng-1.2.43-r2:0 required by ('installed', '/',
'x11-libs/qt-gui-4.6.2-r1', 'nomerge')
    >=media-libs/libpng-1.2.43-r2:0 required by ('installed', '/',
'x11-libs/gtk+-2.18.9', 'nomerge')
Comment 8 Richard 2010-05-14 01:33:58 UTC
Here is the output of emerge --info:

# emerge --info
Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.11.1-r0, 2.6.33.4 i686)
=================================================================
System uname: Linux-2.6.33.4-i686-Genuine_Intel-R-_CPU_T2400_@_1.83GHz-with-gentoo-2.0.1
Timestamp of tree: Fri, 14 May 2010 01:00:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p5
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
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/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"
CXXFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests buildpkg ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -march=prescott --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://gentoo.netnitco.net http://distro.ibiblio.org/pub/linux/distributions/gentoo/"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-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="/var/lib/layman/sunrise /var/lib/layman/vmware /var/lib/layman/linuxdna /var/lib/layman/java-overlay /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi alsa apm berkdb bzip2 cdr cli consolekit cracklib crypt cups cxx dbus dri dvd dvdr fftw fortran gd gdbm gif gnutls gpm hal iconv ipv6 java java6 jpeg kde lzma midi mmap mmx mng modules mp3 mudflap ncurses nptl nptlonly nsplugin opengl openmp pam pcre perl png pppd python qt3 qt3support qt4 readline reflection samba session spl sqlite sse sse2 sse3 ssl svg sysfs tcpd threads tiff unicode vorbis x264 x86 xml xorg xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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="en" NETBEANS_MODULES="*" RUBY_TARGETS="ruby18" 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_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 9 Samuli Suominen (RETIRED) gentoo-dev 2010-05-14 09:18:34 UTC
(In reply to comment #7)
> I am experiencing this bug too. I was affected by Bug 319457, but after it was
> resolved, the issue still persists.
> 
> It seems that cairo, qt-qui and gtk+ want media-libs/libpng-1.2.43-r2 to be
> installed alongside media-libs/libpng-1.2.43-r3:

That would be the case if you have masked >=media-libs/libpng-1.4 in ~arch system. Or unmasked libpng-1.2.43-r3 on a stable system, without unmasking also libpng-1.4. Better not do something like that...
Comment 10 tanstaafl@libertytrek.org 2010-05-14 10:57:21 UTC
I appreciate the help, but I also don't like doing things without understanding why, so if you don't mind, a few more questions below...

(In reply to comment #4)
> (In reply to comment #2)
>> emerge -C libpng and let portage do it's job (= pull in the correct libpng
>> version)

> That's what I started to do, but a package blocking *itself* didn't make much
> sense to me,

I'd still like to actually *understand* why/how a package can block itself...

Anyone?

And then there's still this unansweered question:

> I'd still like to know, though, why the current/stable version (as of 5/10)
> was hard masked at the same time the new/updated ebuilds were unmasked, the
> newer of which changed slots to boot...
> 
> Doesn't seem like a good way to do it...

Am I right that it was actually the hard masking of the current/stable/installed version on the same day the new/updated/new-slotted packages is causing the BLOCK?

(In reply to comment #5)
> (In reply to comment #3)
>> I have two entries in my world file:
>> 
>> media-libs/libpng
>> media-libs/libpng:1.2

> Remove these entries from your world file, you don't need them. Try to keep
> world file slim as possible. Using emerge --oneshot (same as emerge -1) will
> avoid adding packages there.

This is the first I've ever heard of this (suggesting I should usually be using emerge --oneshot when installing normal packages), and I've been maintaining a few gentoo systems for 3+ years. Is there a decent primer on when to use --oneshot and when not to?

Anyway, thanks, and I confirm that simply removing those two from my world file allowed portage to do its job (installed 1.2.43-r2 and removed 1.2.40, revdep-rebuild -p showed nothing needing to be rebuilt)...
Comment 11 Richard 2010-05-14 12:38:36 UTC
(In reply to comment #9)
> (In reply to comment #7)
> > I am experiencing this bug too. I was affected by Bug 319457, but after it was
> > resolved, the issue still persists.
> > 
> > It seems that cairo, qt-qui and gtk+ want media-libs/libpng-1.2.43-r2 to be
> > installed alongside media-libs/libpng-1.2.43-r3:
> 
> That would be the case if you have masked >=media-libs/libpng-1.4 in ~arch
> system. Or unmasked libpng-1.2.43-r3 on a stable system, without unmasking also
> libpng-1.4. Better not do something like that...
> 

That was the issue. When libpng-1.4 became available in portage, it broke my system, so I had it masked.
Comment 12 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2010-05-14 13:15:04 UTC
(In reply to comment #10)

> > That's what I started to do, but a package blocking *itself* didn't make much
> > sense to me,
> 
> I'd still like to actually *understand* why/how a package can block itself...

So you get the proper version. It is a version specific block.

> Anyone?
> 
> And then there's still this unansweered question:
> 
> > I'd still like to know, though, why the current/stable version (as of 5/10)
> > was hard masked at the same time the new/updated ebuilds were unmasked, the
> > newer of which changed slots to boot...
> > 
> > Doesn't seem like a good way to do it...
> 
> Am I right that it was actually the hard masking of the
> current/stable/installed version on the same day the new/updated/new-slotted
> packages is causing the BLOCK?

Yes, but it is only an issue for people that have libpng *in* the world file because auto-blocker resolution cannot happen.

> 
> (In reply to comment #5)
> > (In reply to comment #3)
> >> I have two entries in my world file:
> >> 
> >> media-libs/libpng
> >> media-libs/libpng:1.2
> 
> > Remove these entries from your world file, you don't need them. Try to keep
> > world file slim as possible. Using emerge --oneshot (same as emerge -1) will
> > avoid adding packages there.
> 
> This is the first I've ever heard of this (suggesting I should usually be using
> emerge --oneshot when installing normal packages), and I've been maintaining a
> few gentoo systems for 3+ years. Is there a decent primer on when to use
> --oneshot and when not to?

Only packages that you *explicitly* want should be in your world file. No deps should be in your world file. A clean world file is the best way to keep your Gentoo system happy. :)

My server world file is 37 packages. My desktop is 92 packages. But there are e.g. 589 packages installed on my desktop.

For my stable host, the libpng blockers works perfectly because auto-blocker resolution worked. --oneshot *is* a finer point or portage, but it can really save you.