Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
upgrade perl conflicts
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
kilburna
Tux's lil' helper
Tux's lil' helper


Joined: 20 Sep 2004
Posts: 107

PostPosted: Fri Aug 01, 2014 5:55 am    Post subject: upgrade perl conflicts Reply with quote

After sync, perl needs to be updated. Getting conflicts. Any ideas how to resolve this.


Code:

EBox ~ # emerge -uDNav --keep-going=y @system --backtrack=30

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

Calculating dependencies... done!
[ebuild     U  ] dev-lang/perl-5.18.2-r1:0/5.18 [5.16.3:0/5.16] USE="berkdb gdbm -debug -doc -ithreads" 13,746 kB
[ebuild     U  ] app-admin/perl-cleaner-2.16 [2.15] 6 kB
[ebuild     U  ] sys-fs/udev-215-r1 [215] USE="acl firmware-loader kmod -doc -gudev -introspection (-selinux) -static-libs" ABI_X86="(64) (-32) (-x32)" 3 kB
[ebuild     U  ] virtual/udev-215 [208-r2] USE="(-gudev%) (-introspection%) (-static-libs%)" ABI_X86="(-32%) (-64%*) (-x32%)" 0 kB

Total: 4 packages (4 upgrades), Size of downloads: 13,755 kB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/perl:0

  (dev-lang/perl-5.16.3::gentoo, installed) pulled in by
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/DateManip-6.410.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/IO-Tty-1.110.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/WWW-RobotRules-6.20.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/Sub-Exporter-0.986.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-vcs/git-1.8.5.5::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (perl-core/Archive-Tar-1.900.0-r1::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/DateTime-Format-Mail-0.300.100-r1::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/libwww-perl-6.50.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (net-analyzer/net-snmp-5.7.3_pre3::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/PlRPC-0.202.0-r2::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/DateTime-TimeZone-1.600.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/IO-Socket-SSL-1.953.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/Net-SSLeay-1.550::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/HTTP-Negotiate-6.0.1-r1::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (perl-core/IO-1.25-r1::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/File-HomeDir-1.0.0-r1::gentoo, installed)
    dev-lang/perl:0/5.16= required by (net-print/cups-filters-1.0.53::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/Net-Daemon-0.480.0-r1::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/Geo-IP-1.420.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/File-Tail-0.99.3-r1::gentoo, installed)
    =dev-lang/perl-5.16* required by (virtual/perl-ExtUtils-Install-1.580.0-r1::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/DateTime-1.030.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/Package-Stash-0.360.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/Try-Tiny-0.180.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/Package-Stash-XS-0.280.0::gentoo, installed)
    dev-lang/perl:0/5.16=[-build(-)] required by (dev-perl/Error-0.170.210::gentoo, installed)
    (and 1 more with the same problems)

  (dev-lang/perl-5.18.2-r1::gentoo, ebuild scheduled for merge) pulled in by
    =dev-lang/perl-5.18* required by (virtual/perl-Text-Balanced-2.20.0-r4::gentoo, installed)
    (and 31 more with the same problem)


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


Thanks
Back to top
View user's profile Send private message
Budoka
l33t
l33t


Joined: 03 Jun 2012
Posts: 777
Location: Tokyo, Japan

PostPosted: Fri Aug 01, 2014 6:44 am    Post subject: Reply with quote

I had a similar problem today and ran
Code:
emerge --update --newuse --deep --with-bdeps=y @world
and then
Code:
emerge --depclean && revdep-rebuild
not sure if it is the best solution but it fixed the problem.
Back to top
View user's profile Send private message
kilburna
Tux's lil' helper
Tux's lil' helper


Joined: 20 Sep 2004
Posts: 107

PostPosted: Fri Aug 01, 2014 9:04 am    Post subject: Reply with quote

Thanks for reply. I tried emerge --update --newuse --deep --with-bdeps=y @world and still the same problem.
Back to top
View user's profile Send private message
Budoka
l33t
l33t


Joined: 03 Jun 2012
Posts: 777
Location: Tokyo, Japan

PostPosted: Fri Aug 01, 2014 10:07 am    Post subject: Reply with quote

kilburna wrote:
Thanks for reply. I tried emerge --update --newuse --deep --with-bdeps=y @world and still the same problem.


I am not sure why all those packages would be pulling in perl-5.16.3 given that portage is showing that
Quote:
dev-lang/perl-5.18.2-r1
is the most recent version of perl.

Unfortunately someone more knowledgeable than I will have to weigh in here but maybe this will help. Sorry.

http://wiki.gentoo.org/wiki/Troubleshooting#Dependency_Graph_Slot_Conflicts

You might also try perl-cleaner or un-merging perl and re-installing but not sure if that is the best solution. Just something I would try I were in the same boat.
Back to top
View user's profile Send private message
epsilon72
Guru
Guru


Joined: 20 Sep 2007
Posts: 568

PostPosted: Fri Aug 01, 2014 4:18 pm    Post subject: Reply with quote

I ran into a similar problem this week. I was trying to run ' perl-cleaner --reallyall ' after the perl 5.18 upgrade but kept running into blocks. An ' emerge --depclean ' removed a lot of what I assume were older perl packages, and now everything is fine.

Make sure you ' emerge --sync ' again before trying anything else.
Back to top
View user's profile Send private message
dataking
Apprentice
Apprentice


Joined: 20 Apr 2005
Posts: 251

PostPosted: Fri Aug 01, 2014 4:40 pm    Post subject: Reply with quote

I would guess that all of those packages are expecting perl 5.16, while portage is wanting to upgrade perl to 5.18. A rather heavy handed approach would be to unmerge all those packages; upgrade perl, and reinstall them.
_________________
-= the D@7@k|n& =-
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Sat Aug 02, 2014 11:06 am    Post subject: Reply with quote

I think you need to do perl as a package on its own, along with a couple of others, before you do the cleaner:
Code:
emerge -1 dev-lang/perl virtual/perl-ExtUtils-Install virtual/perl-ExtUtils-MakeMaker dev-perl/extutils-pkgconfig

ExtUtils-Install is in your list above, and MakeMaker I saw in a recent post I can't find right now, extutils-pkgconfig (the ExtUtils-PkgConfig module) in this one -- it's not a virtual, but is needed to build other modules.

If you have eix it might be better to do all the installed virtual/perl-ExtUtils ones instead. You can see them with:
Code:
eix '-I#' virtual/perl-ExtUtils
and we'd incorporate it into the above as:
Code:
emerge -1 dev-lang/perl $(eix '-I#' virtual/perl-ExtUtils) dev-perl/extutils-pkgconfig

If you've done perl already you can ofc take it out of the command and just do this before running perl-cleaner:
Code:
emerge -1 $(eix '-I#' virtual/perl-ExtUtils) dev-perl/extutils-pkgconfig

At least that's how I'm approaching this so far in update to automate the sequence (working on it atm for people on 5.12 as well as 5.16.)

You can use esearch too, but we just use the vdb, cache, q or eix in script, so someone else will have to come up the stanza for that.

If anyone has more ideas or can point out flaws, please do share.

I'm not sure about depclean, as it has to run after you've done the full world upgrade, and perl has to be working before you do that, though I guess you do the cleaner after the world upgrade to catch anything that's been missed. Hmm.

HTH,
steveL.
Back to top
View user's profile Send private message
gienah
Developer
Developer


Joined: 24 Nov 2010
Posts: 212
Location: AU

PostPosted: Sat Aug 02, 2014 1:49 pm    Post subject: Reply with quote

Expanding on steveL's suggestion, an idea that might be worth a try is to try emerging perl
along with all the virtual/perl packages, with the -av option to see if emerge can figure it out:
Code:
EIX_LIMIT=0 emerge -auvDN -1 =dev-lang/perl-5.18* $(eix '-I#' virtual/perl-*)
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Sat Aug 02, 2014 6:06 pm    Post subject: Reply with quote

Ah nice one gienah; you're right about selecting the later perl version we need, as otherwise portage might pull in the older one to avoid blockages. You should quote the eix argument to avoid globbing as a general rule though: eix '-I#' 'virtual/perl-*'

I'm not seeing any difference here with EIX_LIMIT=0; perhaps it doesn't matter with virtuals. Not sure exactly what it does, tbh, though I've seen mv use it in examples.

dev-perl/extutils-pkgconfig doesn't have a virtual afaik, unless I'm missing it in those other ones.

edit: Recommended
Code:
emerge -1 -avDN $(eix '-I#' 'virtual/perl-*') dev-perl/extutils-pkgconfig
in this topic (2nd post); as stated I'm not sure about -u as we want things to be rebuilt.

Can someone tell me whether we should add -u? Preferably with an explanation.

Thanks.
Back to top
View user's profile Send private message
gienah
Developer
Developer


Joined: 24 Nov 2010
Posts: 212
Location: AU

PostPosted: Sun Aug 03, 2014 12:00 am    Post subject: Reply with quote

Quote:
Ah nice one gienah; you're right about selecting the later perl version we need, as otherwise portage might pull in the older one to avoid blockages. You should quote the eix argument to avoid globbing as a general rule though: eix '-I#' 'virtual/perl-*'

Thanks for explaining the need for the quotes.
Quote:
I'm not seeing any difference here with EIX_LIMIT=0; perhaps it doesn't matter with virtuals. Not sure exactly what it does, tbh, though I've seen mv use it in examples.

eix told me it wanted EIX_LIMIT=0:
Code:
# eix '-I#' 'virtual/perl-*'
virtual/perl-Archive-Tar
virtual/perl-Attribute-Handlers
virtual/perl-CGI
virtual/perl-CPAN-Meta
virtual/perl-CPAN-Meta-Requirements
virtual/perl-CPAN-Meta-YAML
virtual/perl-Compress-Raw-Bzip2
virtual/perl-Compress-Raw-Zlib
virtual/perl-Digest
virtual/perl-Digest-MD5
virtual/perl-Digest-SHA
virtual/perl-Encode
virtual/perl-ExtUtils-CBuilder
virtual/perl-ExtUtils-Command
virtual/perl-ExtUtils-Install
virtual/perl-ExtUtils-MakeMaker
virtual/perl-ExtUtils-Manifest
virtual/perl-ExtUtils-ParseXS
virtual/perl-File-Path
virtual/perl-File-Spec
virtual/perl-File-Temp
virtual/perl-Getopt-Long
virtual/perl-IO
virtual/perl-IO-Compress
virtual/perl-IO-Zlib
virtual/perl-IPC-Cmd
virtual/perl-JSON-PP
virtual/perl-Locale-Maketext-Simple
virtual/perl-MIME-Base64
virtual/perl-Math-BigInt
virtual/perl-Math-BigInt-FastCalc
virtual/perl-Math-BigRat
virtual/perl-Module-Build
virtual/perl-Module-CoreList
virtual/perl-Module-Load
virtual/perl-Module-Load-Conditional
virtual/perl-Module-Metadata
virtual/perl-Net-Ping
virtual/perl-Package-Constants
virtual/perl-Params-Check
virtual/perl-Parse-CPAN-Meta
virtual/perl-Perl-OSType
virtual/perl-Pod-Escapes
virtual/perl-Pod-Parser
virtual/perl-Pod-Simple
virtual/perl-Scalar-List-Utils
virtual/perl-Storable
virtual/perl-Sys-Syslog
virtual/perl-Test-Harness
virtual/perl-Test-Simple
Only 50 matches displayed on terminal.
Set EIX_LIMIT=0 to show all matches.
#

Quote:
dev-perl/extutils-pkgconfig doesn't have a virtual afaik, unless I'm missing it in those other ones.

Oh, I was wondering why you added it.
Quote:
Recommended
Code:
emerge -1 -avDN $(eix '-I#' 'virtual/perl-*') dev-perl/extutils-pkgconfig

Looks promising, thanks.
Quote:
I'm not sure about -u as we want things to be rebuilt.

Duh, true, sorry for the confusion.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21518

PostPosted: Sun Aug 03, 2014 2:32 am    Post subject: Reply with quote

The line before the mention of EIX_LIMIT is also important. To avoid flooding the display when you use a match with many hits, eix limits itself to 50 results. When the output is not to a terminal, this limit is not enforced, since it is assumed that you piped the output to a program which can handle receiving all the matches.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Sun Aug 03, 2014 12:08 pm    Post subject: Reply with quote

Ah that explains it, thanks. I certainly don't have that many virtual/perl-*, and mostly use eix from script in any case.
Back to top
View user's profile Send private message
jlpoole
Guru
Guru


Joined: 01 Nov 2005
Posts: 477
Location: Salem, OR

PostPosted: Sun Aug 03, 2014 12:30 pm    Post subject: Reply with quote

Is there an explanation somewhere as to the design of handling Perl and it's packages within Gentoo?

I'm running:
Quote:
themis / # uname -a
Linux themis 3.12.13-gentoo #1 SMP Thu Apr 10 15:16:31 PDT 2014 x86_64 Intel(R) Core(TM) i5 CPU M 460 @ 2.53GHz GenuineIntel GNU/Linux
themis / #

which has enough problem being an X64 system. What I am finding is that the virtual/perl... packages have fixed dependences. For example:

virtual/perl-Perl-OSType version 1.2.0-r2 has hard-coded 5.16:
Code:

RDEPEND="
17    || ( =dev-lang/perl-5.16* ~perl-core/${PN#perl-}-${PV} )

where as its successor, virtual/perl-Perl-OSType version 1.3.0-r1 has hard-code 5.18:
Code:
16    RDEPEND="
17    || ( =dev-lang/perl-5.18* ~perl-core/${PN#perl-}-${PV} )


Perl packages are very much like a Gentoo system, certain versions of packages work only with certain version of Perl and certain supporting packages only work with certain versions of packages. For example, the DBI package and its supporting package DBD::Oracle has dependencies:
Quote:

http://cpansearch.perl.org/src/PYTHIAN/DBD-Oracle-1.74/lib/DBD/Oracle.pm requires DBI 1.51:

use DBI 1.51;

whereas a predeccessoar required DBI 1.28.
http://cpansearch.perl.org/src/PYTHIAN/DBD-Oracle-1.17/Makefile.PL

use DBI 1.28;

so even within Perl, you have dependencies and cannot necessarily mix packages and subpackages with various versions of Perl.

Consequentely, within Gentoo, you have a package management system that has to manage another software's package management system. What seems precarious is that Gentoo is attempting to solve Perl's package management system by having Gentoo builds of the packages, e.g. dev-perl/DBD-Pg [PostgreSQL -- noteworthy is the perl pacakge DBD::Oracle is not available through Gentoo's portage system]. Another point is that some perl packages (there are over 15,000 of them) are supported, e.g. the DBI driver for PostgreSQL, and others not, i.e. the DBI driver for Oracle. I can see having packages in Gentoo which configure or deal with dependencies of Perl packages, and I'm wondering where the policy design for this may be documented anywhere. Perl has its own pacakge managment system, CPAN, and I'm wondering why Gentoo doesn't rely on that.
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Sun Aug 03, 2014 1:49 pm    Post subject: Reply with quote

jlpoole wrote:
Is there an explanation somewhere as to the design of handling Perl and it's packages within Gentoo?

jlpoole ... dilfridge (Andreas K. Hüttel ... of the perl herd) made the following recent posts on Planet Gentoo ...

Perl in Gentoo: dev-lang/perl, virtuals, and perl-core packages
Perl in Gentoo: Upgrading pains, perl-cleaner, and EAPI=5

jlpoole wrote:
Consequentely, within Gentoo, you have a package management system that has to manage another software's package management system. What seems precarious is that Gentoo is attempting to solve Perl's package management system by having Gentoo builds of the packages, e.g. dev-perl/DBD-Pg [PostgreSQL -- noteworthy is the perl pacakge DBD::Oracle is not available through Gentoo's portage system]. Another point is that some perl packages (there are over 15,000 of them) are supported, e.g. the DBI driver for PostgreSQL, and others not, i.e. the DBI driver for Oracle. I can see having packages in Gentoo which configure or deal with dependencies of Perl packages, and I'm wondering where the policy design for this may be documented anywhere. Perl has its own pacakge managment system, CPAN, and I'm wondering why Gentoo doesn't rely on that.

I wouldn't call CPAN a package manager, its an archive and (wrt, perl-core/CPAN) a build system. Its unfortunate IMO that a programming language (and modules written in that programming language) has taken on the task of "management" as this to me is the remit of the particular OS this software is installed on and not visa-versa. The outcome of such a model is that you end up with a methodology for each "package" (ie, perl-modules, ruby-gems, etc, etc) each of which requires additional duplication when it comes to the "package manager". Lets say I have a perl script with the following 'use MIME::Parser; use HTML::Parser; use Getopt::Std;' there is nothing in the install procedure to check that the API provided by these modules is going to be the same API as when this script was written, and as far as modules are concerned any API change triggering a >= requirement is not going to cover other modules whos requirements are not similar because there is no check done on the requirements of the currently installed packages, only that of the package being built. These dependencies are also not checked when perl itself is bumped because the modules are secondary and as they are installed to /usr/lib/perl{major_version}/vendor_perl/{version} are left to whatever mechanism is used to point the script to the "system perl". All this being the case (and forgive my above simplification of the issues involved) "management" is left to some other mechanism (namely whatever the OS provides, or via manual intervention).

best ... khay
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Jul 21, 2015 10:09 pm    Post subject: Reply with quote

All or the most of these steps didn't help it to merge to success and thus bring to fruition


I'd simply go for the extreme approach (axe 'em all :twisted: )

Code:
>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 127) virtual/perl-Version-Requirements-0.101.21...


well, that's quite a bunch - no wonder that it takes ages and were kind of gridlocked :?


Code:
emerge --unmerge virtual/perl* dev-perl/*


Then re-emerge all the things with new flags and dependencies :D


Well, again late to the party


that shows that I haven't updated my system for quite some time + doing the abi_x86_32 switch NOW :P



edit:


is it just me or is portage really getting dumber and dumber ?


Quote:
[ebuild U ] dev-lang/perl-5.22.0 [5.20.1-r2]
[ebuild N ] virtual/perl-File-Temp-0.230.400-r3
[ebuild N ] virtual/perl-Data-Dumper-2.158.0
[ebuild N ] dev-perl/extutils-pkgconfig-1.150.0

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/perl:0

(dev-lang/perl-5.22.0:0/5.22::gentoo, ebuild scheduled for merge) pulled in by
=dev-lang/perl-5.22* required by (virtual/perl-Data-Dumper-2.158.0:0/0::gentoo, ebuild scheduled for merge)
^ ^^^^^
dev-lang/perl (Argument)

(dev-lang/perl-5.20.1-r2:0/5.20::gentoo, installed) pulled in by
dev-lang/perl:0/5.20=[-build(-)] required by (net-print/foomatic-db-engine-4.0.12:0/0::gentoo, installed)
^^^^^^^^
(and 5 more with the same problem)


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously. If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.



so I have to unmerge net-print/foomatic-db-engine

and run the command again


for the remaining 4 packages

:cry:
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Wed Jul 22, 2015 1:24 pm    Post subject: Reply with quote

Yay, stuck there too. But for me it's not just perl but also boost. Solving blockers for both packages is quite hard.
Furthermore I have to run emerge several times because portage simply doesn't give me all blocking packages. It currently takes several minutes to finish one emerge -uDNavt @world, only to see that there are more and more blockers. I really hate this, and I absolutely don't have the time to spend hours and hours to manually fix those issues. Probably it's time to finally get to a binary distribution :/ because this isn't the first time I hit such issues...
Back to top
View user's profile Send private message
geki
Advocate
Advocate


Joined: 13 May 2004
Posts: 2387
Location: Germania

PostPosted: Sat Aug 01, 2015 7:40 am    Post subject: Reply with quote

well, here I am having dev-lang/perl-5.22.0 to emerge. o what fun - subslot hell.
command below is close to success, though I guess perl-cleaner needs some fixing. it misses some virtuals. or did I miss another flag?!
Code:
perl-cleaner --reallyall -p -- dev-lang/perl:0
so I guess to unmerge perl virtuals may help; have to test, though.

wrt to boost I recommend my overlay; see my sig. ;)
have boost slotted for easy upgrade paths - who wants to trigger libreoffice rebuilds is not your friend.
you may check its use flags to build necessary libraries!
_________________
hear hear
Back to top
View user's profile Send private message
geki
Advocate
Advocate


Joined: 13 May 2004
Posts: 2387
Location: Germania

PostPosted: Sat Aug 01, 2015 8:21 am    Post subject: Reply with quote

these commands got me very close to success:
Code:
# mkdir -p /etc/portage/sets
# equery list -f --format="\$category/\$name" 'virtual/perl-*' > /etc/portage/sets/perl-virtuals
# emerge -p --unmerge @perl-virtuals # remove '-p' whenever you are ready
# perl-cleaner --reallyall -p -- dev-lang/perl:0
having these errors:
Code:
[blocks B      ] <perl-core/Data-Dumper-2.158.0 ("<perl-core/Data-Dumper-2.158.0" is blocking virtual/perl-Data-Dumper-2.158.0)
[blocks B      ] <perl-core/ExtUtils-MakeMaker-7.40.100_rc ("<perl-core/ExtUtils-MakeMaker-7.40.100_rc" is blocking virtual/perl-ExtUtils-MakeMaker-7.40.100_rc)
[blocks B      ] <perl-core/libnet-3.50.0 ("<perl-core/libnet-3.50.0" is blocking virtual/perl-libnet-3.50.0)
...
  (perl-core/ExtUtils-MakeMaker-7.40.0-r1:0/0::gentoo, ebuild scheduled for merge) pulled in by
    perl-core/ExtUtils-MakeMaker:0

  (perl-core/libnet-1.270.0:0/0::gentoo, ebuild scheduled for merge) pulled in by
    perl-core/libnet:0

  (perl-core/Data-Dumper-2.154.0:0/0::gentoo, ebuild scheduled for merge) pulled in by
    perl-core/Data-Dumper:0
portage tree is not up to date, eh?!
Code:
# equery list -p -o perl-core/ExtUtils-MakeMaker
 * Searching for ExtUtils-MakeMaker in perl-core ...
[IP-] [  ] perl-core/ExtUtils-MakeMaker-7.40.0-r1:0
# equery list -p -o perl-core/libnet
 * Searching for libnet in perl-core ...
[IP-] [  ] perl-core/libnet-1.270.0:0
# equery list -p -o perl-core/Data-Dumper
 * Searching for Data-Dumper in perl-core ...
[IP-] [  ] perl-core/Data-Dumper-2.154.0:0
well, anyone interested in a bugreport?! :o

edit #1
a ha, these virtuals should pull perl 5.22. fun. so, one may just remove the hard blockers and may be enlightened.
this could be tested by developers not arch testers. :o

Code:
 * If you have just updated your major Perl version (e.g. from 5.20.2 to 5.22.0),
funny text of perl-cleaner.

... hell, it starts merging ...

edit #2
done - and there is another goodie I cannot resist
Code:
 * It seems like perl-cleaner had to rebuild some packages.
 *
 * If you have just updated your major Perl version (e.g. from 5.20.2 to 5.22.0),
 * and have run perl-cleaner _after_ that update, then this means most likely
 * that these packages are buggy. Please file a bug on http://bugs.gentoo.org/ and
 * report that perl-cleaner needed to reinstall the following list:
 *    perl-core/Encode:0 perl-core/File-Temp:0 perl-core/CPAN-Meta:0 perl-core/ExtUtils-Manifest:0 dev-perl/Encode-Locale:0 dev-perl/DBI:0 dev-perl/HTML-Tagset:0 dev-perl/Data-OptList:0 dev-perl/WWW-RobotRules:0 dev-perl/Email-Address:0 dev-perl/HTTP-Negotiate:0 dev-perl/DateTime:0 dev-perl/Sub-Exporter:0 dev-perl/JSON-XS:0 dev-perl/Test-Deep:0 dev-perl/Module-Runtime:0 dev-perl/Email-Date-Format:0 dev-perl/HTTP-Daemon:0 dev-perl/Email-Abstract:0 dev-perl/PlRPC:0 dev-perl/HTTP-Cookies:0 dev-perl/MRO-Compat:0 dev-perl/IO-HTML:0 dev-perl/List-MoreUtils:0 dev-perl/LWP-MediaTypes:0 dev-perl/Dist-CheckConflicts:0 dev-perl/Params-Util:0 dev-perl/File-Listing:0 dev-perl/URI:0 dev-perl/Package-Stash:0 dev-perl/Module-Build:0 dev-perl/List-AllUtils:0 dev-perl/Package-DeprecationManager:0 dev-perl/Return-Value:0 dev-perl/HTTP-Message:0 dev-perl/Try-Tiny:0 dev-perl/Module-Pluggable:0 dev-perl/DateTime-TimeZone:0 dev-perl/Email-Simple:0 dev-perl/Types-Serialiser:0 dev-perl/Sys-SigAction:0 dev-perl/common-sense:0 dev-perl/Sub-Install:0 dev-perl/Net-HTTP:0 dev-perl/libwww-perl:0 dev-perl/Email-Send:0 dev-perl/Net-Daemon:0 dev-perl/IO-Socket-SSL:0 dev-perl/LWP-Protocol-https:0 dev-perl/Net-SSLeay:0 dev-perl/Module-Implementation:0 dev-perl/Class-Load:0 dev-perl/Unicode-EastAsianWidth:0 dev-perl/Params-Validate:0 dev-perl/Exporter-Tiny:0 dev-perl/HTML-Parser:0 dev-perl/HTTP-Date:0 dev-perl/libintl-perl:0 dev-perl/DBD-mysql:0 dev-perl/DateTime-Locale:0 dev-perl/Text-Unidecode:0 dev-perl/Package-Stash-XS:0 dev-perl/Class-Singleton:0
it talks for itself. :lol:
_________________
hear hear


Last edited by geki on Sat Aug 01, 2015 9:27 am; edited 2 times in total
Back to top
View user's profile Send private message
geki
Advocate
Advocate


Joined: 13 May 2004
Posts: 2387
Location: Germania

PostPosted: Sat Aug 01, 2015 9:21 am    Post subject: Reply with quote

well, here are my instructions how to upgrade perl w/subslot:=hell
Code:
#!/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
have fun :o

edit #2
updated my perl upgrade script
_________________
hear hear


Last edited by geki on Thu Sep 10, 2015 7:39 pm; edited 1 time in total
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Sat Aug 01, 2015 4:41 pm    Post subject: Reply with quote

I don't understand why you're doing perl as part of the cleaner?

So far, I've found it better to do perl on its own (with -O or --nodeps), then the virtuals and pkgconfig, then the cleaner run, which usually needs the other stuff done first.

Then again, I'm not at this upgrade yet, so by all means tell me more.. ;-)
Back to top
View user's profile Send private message
muhsinzubeir
l33t
l33t


Joined: 29 Sep 2007
Posts: 948
Location: /home/muhsin

PostPosted: Sat Aug 29, 2015 2:48 pm    Post subject: Reply with quote

kernelOfTruth wrote:
All or the most of these steps didn't help it to merge to success and thus bring to fruition


I'd simply go for the extreme approach (axe 'em all :twisted: )

Code:
>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 127) virtual/perl-Version-Requirements-0.101.21...


well, that's quite a bunch - no wonder that it takes ages and were kind of gridlocked :?


Code:
emerge --unmerge virtual/perl* dev-perl/*


Then re-emerge all the things with new flags and dependencies :D


Well, again late to the party


that shows that I haven't updated my system for quite some time + doing the abi_x86_32 switch NOW :P



edit:


is it just me or is portage really getting dumber and dumber ?


Quote:
[ebuild U ] dev-lang/perl-5.22.0 [5.20.1-r2]
[ebuild N ] virtual/perl-File-Temp-0.230.400-r3
[ebuild N ] virtual/perl-Data-Dumper-2.158.0
[ebuild N ] dev-perl/extutils-pkgconfig-1.150.0

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/perl:0

(dev-lang/perl-5.22.0:0/5.22::gentoo, ebuild scheduled for merge) pulled in by
=dev-lang/perl-5.22* required by (virtual/perl-Data-Dumper-2.158.0:0/0::gentoo, ebuild scheduled for merge)
^ ^^^^^
dev-lang/perl (Argument)

(dev-lang/perl-5.20.1-r2:0/5.20::gentoo, installed) pulled in by
dev-lang/perl:0/5.20=[-build(-)] required by (net-print/foomatic-db-engine-4.0.12:0/0::gentoo, installed)
^^^^^^^^
(and 5 more with the same problem)


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously. If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.



so I have to unmerge net-print/foomatic-db-engine

and run the command again


for the remaining 4 packages

:cry:


Gooing through the same thing here ... unmerge bunch packages to get around this one....

P:S
Unmerging bunch perl stuffs does the trick ... :)
_________________
~x86
p5k-se
Intel Core 2 Duo
Nvidia GT200
http://www.zanbytes.com
Back to top
View user's profile Send private message
geki
Advocate
Advocate


Joined: 13 May 2004
Posts: 2387
Location: Germania

PostPosted: Sat Aug 29, 2015 7:57 pm    Post subject: Reply with quote

woa, somehow missed the answer.

steveL wrote:
I don't understand why you're doing perl as part of the cleaner?
well, simply be done and be happy. feel free to do otherwise. I just like it short and simple and future proof if possible. :)

1. unmerge all your perl virtuals via portage set
2. (re)merge perl, all your perl packages and virtuals via perl-cleaner
_________________
hear hear
Back to top
View user's profile Send private message
honp
Guru
Guru


Joined: 25 Sep 2006
Posts: 355
Location: Good old Prague, Czech rep.

PostPosted: Tue Sep 08, 2015 8:20 pm    Post subject: Reply with quote

Thanks, it worked and helped...:)
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Wed Sep 09, 2015 8:36 am    Post subject: Reply with quote

steveL wrote:
I don't understand why you're doing perl as part of the cleaner?

geki wrote:
well, simply be done and be happy. feel free to do otherwise. I just like it short and simple and future proof if possible. :)

Sure OK, I see what you're saying.
Quote:
1. unmerge all your perl virtuals via portage set
2. (re)merge perl, all your perl packages and virtuals via perl-cleaner

Might as well do 1. with:
Code:
emerge -cq $(qlist -IC virtual/perl)
since there's no real need to keep the set.
Back to top
View user's profile Send private message
geki
Advocate
Advocate


Joined: 13 May 2004
Posts: 2387
Location: Germania

PostPosted: Thu Sep 10, 2015 6:36 am    Post subject: Reply with quote

steveL
thank you, updated my script!

the last missing piece would be to print the hard blocking packages without emerge noise.
though, did not find the proper emerge options. maybe there is some portage api?!

edit #1
updated my perl upgrade script wrt blockers - see my post above from Sat Aug 01, 2015
_________________
hear hear
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum