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

Bug 247413

Summary: virtual/perl-Compress-Zlib-1.14 required by emerge --depclean, but not --update --deep?
Product: Gentoo Linux Reporter: Bob Johnson <bob>
Component: New packagesAssignee: Gentoo Perl team <perl>
Status: RESOLVED INVALID    
Severity: normal CC: jrmalaq
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Bob Johnson 2008-11-18 16:15:06 UTC
First time I've seen this, and I don't see anything similar in any of the Perl bug reports. (I'm sure I'll be corrected if I'm wrong...)

After a sync today, I ran 'emerge -uDpv --newuse world' and got 'done' (nothing to do). When I then ran 'emerge --depclean', it complained about dependency issues with some of the Perl ebuilds and said I had forgotten to run 'emerge --update --newuse --deep world'. Something is confused in the Perl portage tree.

Reproducible: Always

Steps to Reproduce:
1. emerge --update --newuse --deep world
2. emerge --depclean
3. ponder confusion

Actual Results:  
ariel ~ # emerge --update --newuse --deep world
Calculating world dependencies... done!
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.
ariel ~ # emerge --depclean

*** WARNING ***  Depclean may break link level dependencies.  Thus, it is
*** WARNING ***  recommended to use a tool such as `revdep-rebuild` (from
*** WARNING ***  app-portage/gentoolkit) in order to detect such breakage.
*** WARNING ***
*** WARNING ***  Also study the list of packages to be cleaned for any obvious
*** WARNING ***  mistakes. Packages that are part of the world set will always
*** WARNING ***  be kept.  They can be manually added to this set with
*** WARNING ***  `emerge --noreplace <atom>`.  Packages that are listed in
*** WARNING ***  package.provided (see portage(5)) will be removed by
*** WARNING ***  depclean, even if they are part of the world set.
*** WARNING ***
*** WARNING ***  As a safety measure, depclean will not remove any packages
*** WARNING ***  unless *all* required dependencies have been resolved.  As a
*** WARNING ***  consequence, it is often necessary to run
*** WARNING ***  `emerge --update --newuse --deep world` prior to depclean.

Calculating dependencies... done!

Dependencies could not be completely resolved due to
the following required packages not being installed:

>=virtual/perl-Compress-Zlib-1.14 required by dev-perl/Archive-Zip-1.23
virtual/perl-ExtUtils-CBuilder required by perl-core/File-Spec-3.27.01

Have you forgotten to run `emerge --update --newuse --deep world` prior to
depclean?  It may be necessary to manually uninstall packages that no longer
exist in the portage tree since it may not be possible to satisfy their
dependencies.  Also, be aware of the --with-bdeps option that is documented
in `man emerge`.

 * GNU info directory index is up-to-date.



ariel ~ # emerge --info
Portage 2.1.4.5 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25.19 i686)
=================================================================
System uname: 2.6.25.19 i686 AMD Athlon(tm) XP 2600+
Timestamp of tree: Tue, 18 Nov 2008 15:15:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r14, 2.5.2-r7
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
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.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /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/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en_US"
PKGDIR="/usr/portage/packages"
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"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac acl acpi alsa apache2 audiofile berkdb blas bluetooth branding bzip2 cairo cdr cli cracklib crypt css cups curl dbus doc dri dts dv dvb dvd dvdr dvdread eds emboss encode evo examples exif fam ffmpeg fftw firefox flac foomaticdb fortran gcj gd gdbm gif gimp gimpprint glut gnome gnuplot graphviz gstreamer gtk gtk2 gtkhtml guile hal iconv idn ieee1394 imagemagick imlib ipv6 isdnlog jack jadetex java jbig joystick jpeg jpeg2k kde ladcca lcms ldap libnotify mad mbox midi mikmod mmx mng motif mozbranding mozilla mp3 mpeg mudflap music ncurses nls nocd nptl nptlonly nsplugin odbc ogg openal opengl openmp pam pcre pdf perl png posix postgres povray ppds pppd python qt3 qt3support qt4 quicktime readline reflection rtc samba scanner sdl session sockets sox spell spl sse ssl startup-notification svg sysfs tcl tcpd theora threads tiff tk truetype unicode usb v4l v4l2 vcd vorbis win32codecs wmf x86 xanim xine xinerama xml xorg xpm xv xvid zlib" ALSA_CARDS="via82xx" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US" USERLAND="GNU" VIDEO_CARDS="vesa fbdev radeon vmware"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Torsten Veller (RETIRED) gentoo-dev 2008-11-18 16:32:57 UTC
Wait another half an hour, resync the tree and it should be gone.

Some perl modules were moved from dev-perl/ to perl-core/. This took longer than the time between two rsync mirror updates. So you have fetched an inconsistent portage tree.

Do nothing. Wait. If it is fixed after next resync, close this bug. Else describe your problem and i try to help.

Thanks
Comment 2 Bob Johnson 2008-11-19 16:30:44 UTC
(In reply to comment #1)
> Wait another half an hour, resync the tree and it should be gone.
> 
> Some perl modules were moved from dev-perl/ to perl-core/. This took longer
> than the time between two rsync mirror updates. So you have fetched an
> inconsistent portage tree.
> 
> Do nothing. Wait. If it is fixed after next resync, close this bug. Else
> describe your problem and i try to help.
> 
> Thanks
> 

Hi,
After 24 hours, I did another emerge --sync and this is the result:
*******************************************************************
ariel ~ # emerge -uDv world

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

Calculating world dependencies... done!
[ebuild  N    ] virtual/perl-Compress-Raw-Zlib-2.015  0 kB
[ebuild  N    ] virtual/perl-IO-Compress-Base-2.015  0 kB
[ebuild  N    ] virtual/perl-IO-Compress-Zlib-2.015  0 kB
[ebuild  N    ] virtual/perl-Compress-Zlib-2.015  0 kB

Total: 4 packages (4 new), Size of downloads: 0 kB

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 4) virtual/perl-Compress-Raw-Zlib-2.015 to /
 * checking ebuild checksums ;-) ...                                      [ ok ]
 * checking auxfile checksums ;-) ...                                     [ ok ]
 * checking miscfile checksums ;-) ...                                    [ ok ]
>>> Unpacking source...
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/virtual/perl-Compress-Raw-Zlib-2.015/work ...
>>> Source compiled.
>>> Test phase [not enabled]: virtual/perl-Compress-Raw-Zlib-2.015

>>> Install perl-Compress-Raw-Zlib-2.015 into /var/tmp/portage/virtual/perl-Compress-Raw-Zlib-2.015/image/ category virtual
>>> Completed installing perl-Compress-Raw-Zlib-2.015 into /var/tmp/portage/virtual/perl-Compress-Raw-Zlib-2.015/image/

* checking 0 files for package collisions
>>> Merging virtual/perl-Compress-Raw-Zlib-2.015 to /
>>> virtual/perl-Compress-Raw-Zlib-2.015 merged.

>>> No packages selected for removal by clean

>>> Emerging (2 of 4) virtual/perl-IO-Compress-Base-2.015 to /
 * checking ebuild checksums ;-) ...                                      [ ok ]
 * checking auxfile checksums ;-) ...                                     [ ok ]
 * checking miscfile checksums ;-) ...                                    [ ok ]
>>> Unpacking source...
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/virtual/perl-IO-Compress-Base-2.015/work ...
>>> Source compiled.
>>> Test phase [not enabled]: virtual/perl-IO-Compress-Base-2.015

>>> Install perl-IO-Compress-Base-2.015 into /var/tmp/portage/virtual/perl-IO-Compress-Base-2.015/image/ category virtual
>>> Completed installing perl-IO-Compress-Base-2.015 into /var/tmp/portage/virtual/perl-IO-Compress-Base-2.015/image/

* checking 0 files for package collisions
>>> Merging virtual/perl-IO-Compress-Base-2.015 to /
>>> virtual/perl-IO-Compress-Base-2.015 merged.

>>> No packages selected for removal by clean

>>> Emerging (3 of 4) virtual/perl-IO-Compress-Zlib-2.015 to /
 * checking ebuild checksums ;-) ...                                      [ ok ]
 * checking auxfile checksums ;-) ...                                     [ ok ]
 * checking miscfile checksums ;-) ...                                    [ ok ]
>>> Unpacking source...
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/virtual/perl-IO-Compress-Zlib-2.015/work ...
>>> Source compiled.
>>> Test phase [not enabled]: virtual/perl-IO-Compress-Zlib-2.015

>>> Install perl-IO-Compress-Zlib-2.015 into /var/tmp/portage/virtual/perl-IO-Compress-Zlib-2.015/image/ category virtual
>>> Completed installing perl-IO-Compress-Zlib-2.015 into /var/tmp/portage/virtual/perl-IO-Compress-Zlib-2.015/image/

* checking 0 files for package collisions
>>> Merging virtual/perl-IO-Compress-Zlib-2.015 to /
>>> virtual/perl-IO-Compress-Zlib-2.015 merged.

>>> No packages selected for removal by clean

>>> Emerging (4 of 4) virtual/perl-Compress-Zlib-2.015 to /
 * checking ebuild checksums ;-) ...                                      [ ok ]
 * checking auxfile checksums ;-) ...                                     [ ok ]
 * checking miscfile checksums ;-) ...                                    [ ok ]
>>> Unpacking source...
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/virtual/perl-Compress-Zlib-2.015/work ...
>>> Source compiled.
>>> Test phase [not enabled]: virtual/perl-Compress-Zlib-2.015

>>> Install perl-Compress-Zlib-2.015 into /var/tmp/portage/virtual/perl-Compress-Zlib-2.015/image/ category virtual
>>> Completed installing perl-Compress-Zlib-2.015 into /var/tmp/portage/virtual/perl-Compress-Zlib-2.015/image/

* checking 0 files for package collisions
>>> Merging virtual/perl-Compress-Zlib-2.015 to /
>>> virtual/perl-Compress-Zlib-2.015 merged.

>>> No packages selected for removal by clean
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.
 * GNU info directory index is up-to-date.
ariel ~ # emerge -uDpv --newuse world

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

Calculating world dependencies... done!

Total: 0 packages, Size of downloads: 0 kB
ariel ~ # emerge --depclean --pretend

*** WARNING ***  Depclean may break link level dependencies.  Thus, it is
*** WARNING ***  recommended to use a tool such as `revdep-rebuild` (from
*** WARNING ***  app-portage/gentoolkit) in order to detect such breakage.
*** WARNING ***
*** WARNING ***  Also study the list of packages to be cleaned for any obvious
*** WARNING ***  mistakes. Packages that are part of the world set will always
*** WARNING ***  be kept.  They can be manually added to this set with
*** WARNING ***  `emerge --noreplace <atom>`.  Packages that are listed in
*** WARNING ***  package.provided (see portage(5)) will be removed by
*** WARNING ***  depclean, even if they are part of the world set.
*** WARNING ***
*** WARNING ***  As a safety measure, depclean will not remove any packages
*** WARNING ***  unless *all* required dependencies have been resolved.  As a
*** WARNING ***  consequence, it is often necessary to run
*** WARNING ***  `emerge --update --newuse --deep world` prior to depclean.

Calculating dependencies... done!

Dependencies could not be completely resolved due to
the following required packages not being installed:

virtual/perl-ExtUtils-CBuilder required by perl-core/File-Spec-3.27.01

Have you forgotten to run `emerge --update --newuse --deep world` prior to
depclean?  It may be necessary to manually uninstall packages that no longer
exist in the portage tree since it may not be possible to satisfy their
dependencies.  Also, be aware of the --with-bdeps option that is documented
in `man emerge`.
**********************************************************************

It appears one virtual hasn't made it into the tree yet. I'll wait another 24 and try again, and close the bug as soon as I get a clean build. Thanks!

Comment 3 Torsten Veller (RETIRED) gentoo-dev 2008-11-19 17:21:06 UTC
(In reply to comment #2)
> After 24 hours, I did another emerge --sync and this is the result:
> *******************************************************************
> ariel ~ # emerge -uDv world
> 
> These are the packages that would be merged, in order:
> 
> Calculating world dependencies... done!
> [ebuild  N    ] virtual/perl-Compress-Raw-Zlib-2.015  0 kB
> [ebuild  N    ] virtual/perl-IO-Compress-Base-2.015  0 kB
> [ebuild  N    ] virtual/perl-IO-Compress-Zlib-2.015  0 kB
> [ebuild  N    ] virtual/perl-Compress-Zlib-2.015  0 kB
> 
> Total: 4 packages (4 new), Size of downloads: 0 kB


> ariel ~ # emerge -uDpv --newuse world
> 
> These are the packages that would be merged, in order:
> 
> Calculating world dependencies... done!
> 
> Total: 0 packages, Size of downloads: 0 kB
> ariel ~ # emerge --depclean --pretend
> 
> *** WARNING ***  Depclean may break link level dependencies.  Thus, it is
> *** WARNING ***  recommended to use a tool such as `revdep-rebuild` (from
> *** WARNING ***  app-portage/gentoolkit) in order to detect such breakage.
> *** WARNING ***
> *** WARNING ***  Also study the list of packages to be cleaned for any obvious
> *** WARNING ***  mistakes. Packages that are part of the world set will always
> *** WARNING ***  be kept.  They can be manually added to this set with
> *** WARNING ***  `emerge --noreplace <atom>`.  Packages that are listed in
> *** WARNING ***  package.provided (see portage(5)) will be removed by
> *** WARNING ***  depclean, even if they are part of the world set.
> *** WARNING ***
> *** WARNING ***  As a safety measure, depclean will not remove any packages
> *** WARNING ***  unless *all* required dependencies have been resolved.  As a
> *** WARNING ***  consequence, it is often necessary to run
> *** WARNING ***  `emerge --update --newuse --deep world` prior to depclean.
> 
> Calculating dependencies... done!
> 
> Dependencies could not be completely resolved due to
> the following required packages not being installed:
> 
> virtual/perl-ExtUtils-CBuilder required by perl-core/File-Spec-3.27.01
> 
> Have you forgotten to run `emerge --update --newuse --deep world` prior to
> depclean?  It may be necessary to manually uninstall packages that no longer
> exist in the portage tree since it may not be possible to satisfy their
> dependencies.  Also, be aware of the --with-bdeps option that is documented
> in `man emerge`.
> **********************************************************************
> 
> It appears one virtual hasn't made it into the tree yet. I'll wait another 24
> and try again, and close the bug as soon as I get a clean build. Thanks!

The virtual is not missing but you didn't try --with-bdeps. No need to wait. Try it:

Have a look at the output of
emerge --pretend --update --newuse --deep --with-bdeps y world
and emerge the missing perl-module:
emerge --oneshot --ask virtual/perl-ExtUtils-CBuilder
Comment 4 Bob Johnson 2008-11-19 20:55:27 UTC
(In reply to comment #3)
> (In reply to comment #2)
> The virtual is not missing but you didn't try --with-bdeps. No need to wait.
> Try it:
> 
> Have a look at the output of
> emerge --pretend --update --newuse --deep --with-bdeps y world
> and emerge the missing perl-module:
> emerge --oneshot --ask virtual/perl-ExtUtils-CBuilder
> 

Ah yes. I suppose I should read the warning more closely :-)

With an 'emerge -uDv --newuse --with-bdeps y perl-core/File-Spec',
emerge pulled in about a half-dozen packages,including the missing virtual, and emerge --depclean is now happy. I'll have to file that flag away for later use if I encounter this in the future. This not-really-a-bug bug is now closed. Thanks!