4

I'm trying to update all my packages, so I ran:

emerge -aUDU --with-bdeps=y --verbose-conflicts @world

and I found a few package conflicts. Interestingly enough though, is that it has scheduled two different versions of the dev-lang/perl package to install:

dev-lang/perl:0

  (dev-lang/perl-5.22.1:0/5.22::gentoo, ebuild scheduled for merge) pulled in by
    =dev-lang/perl-5.22* required by (virtual/perl-IO-1.350.0:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                     
    =dev-lang/perl-5.22* required by (virtual/perl-version-0.990.900-r2:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                               
    =dev-lang/perl-5.22* required by (virtual/perl-File-Spec-3.560.0:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                            
    =dev-lang/perl-5.22* required by (virtual/perl-CPAN-Meta-YAML-0.12.0-r1:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                                   
    =dev-lang/perl-5.22* required by (virtual/perl-ExtUtils-MakeMaker-7.40.100_rc:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                                         
    =dev-lang/perl-5.22* required by (virtual/perl-ExtUtils-ParseXS-3.280.0:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                                   
    =dev-lang/perl-5.22* required by (virtual/perl-CPAN-Meta-2.150.1:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                            
    =dev-lang/perl-5.22* required by (virtual/perl-Module-Metadata-1.0.26:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                                 
    =dev-lang/perl-5.22* required by (virtual/perl-Parse-CPAN-Meta-1.441.400-r1:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                                       
    =dev-lang/perl-5.22* required by (virtual/perl-JSON-PP-2.273.0:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                          

  (dev-lang/perl-5.20.2:0/5.20::gentoo, ebuild scheduled for merge) pulled in by
    =dev-lang/perl-5.20* required by (virtual/perl-Getopt-Long-2.420.0-r1:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                                 
    =dev-lang/perl-5.20* required by (virtual/perl-ExtUtils-Install-1.670.0:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                                   
    =dev-lang/perl-5.20.2* required by (virtual/perl-Storable-2.490.100-r1:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^^^                                                                                                                                                
    =dev-lang/perl-5.20.2* required by (virtual/perl-ExtUtils-CBuilder-0.280.217-r2:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^^^                                                                                                                                                         
    =dev-lang/perl-5.20* required by (virtual/perl-Test-Harness-3.330.0:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                               
    =dev-lang/perl-5.20* required by (virtual/perl-Compress-Raw-Zlib-2.65.0:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                                   
    =dev-lang/perl-5.20* required by (virtual/perl-ExtUtils-Manifest-1.630.0-r2:0/0::gentoo, ebuild scheduled for merge)
    ^              ^^^^^                                                                                                                                                       
    =dev-lang/perl-5.20* required by (virtual/perl-Perl-OSType-1.7.0:0/0::gentoo, ebuild scheduled for merge)

I've unmerged each of the packages that are using either versions of dev-lang/perl as a dependency (at least those that were installed and listed as causing conflicts), and I've tried masking either versions in /etc/portage/package.mask/perl by doing:

>dev-lang/perl-5.20.2

or

<=dev-lang/perl-5.22.1

But the conflicts remain.

Do I have to mask each of the packages that depend on one of the versions, or is there another way to handle this conflict?

  • Have you tried un-merging all those Perl "virtual" packages instead? – user86969 Apr 24 '16 at 15:08
  • @Nasha, yeah, I unmerged all of those too. But they are ebuilds scheduled for merge. If you look in the terminal output I posted, you can see that none of the conflicting packages, or the packages causing conflicts are installed, just scheduled for merge. – CaptJak Apr 24 '16 at 15:12
  • Have you checked out this thread on Gentoo forums? – user86969 Apr 24 '16 at 16:56
  • @Nasha, geez. I wish the Gentoo forums were more like the Stack Exchange sites... Anyways, I ended up making sure that each package that wanted to pull in the older version of Perl had been unmerged, and then I explicitly masked them in /etc/portage/package.mask/perl. The conflicts for Perl disappeared. I'm now installing the newer version of Perl, will do pearl-cleaner --all and see how that goes. This might take a while to see the result because I also pulled in a dependency update for LibreOffice. Should be done updating by the time I'm 65... :P – CaptJak Apr 24 '16 at 17:06
1

Using

EIX_LIMIT=0 emerge -1auvDNt -j2 --verbose-conflicts =dev-lang/perl-5.22* $(eix '-I#' virtual/perl-*)

I was able to update Perl from 5.20 to 5.22 on my system.

Source: https://forums.gentoo.org/viewtopic-p-7593286.html#7593286

0

This is what worked for me, nothing else worked:

#!/bin/bash

# unmerge perl virtuals
emerge --unmerge $(qlist --installed virtual/perl)

# print perl blockers and quit
if emerge -pq dev-lang/perl:0 2>/dev/null | grep blocks
then
        echo
        echo "unmerge packages blocking perl upgrade"

        exit 1
else
        # upgrade perl
        perl-cleaner --reallyall -- dev-lang/perl:0
fi

exit 0

From: https://forums.gentoo.org/viewtopic-p-7790388.html?sid=5198a9a0af09fca7f15b170de417a5da#7790388

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.