View previous topic :: View next topic |
Author |
Message |
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Fri Apr 21, 2017 7:39 pm Post subject: Once again perl is blocking my world update [solved] |
|
|
Hi
I've made an eix-sync half an hour ago and I wanted to do world update. Perl is causing again trouble:
Code: |
!!! 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.24.1-r1:0/5.24::gentoo, ebuild scheduled for merge) pulled in by
=dev-lang/perl-5.24.1* required by (virtual/perl-Storable-2.560.100_rc:0/0::gentoo, ebuild scheduled for merge)
^ ^^^^^^^
(and 44 more with the same problem)
(dev-lang/perl-5.22.3_rc4:0/5.22::gentoo, installed) pulled in by
dev-lang/perl:0/5.22=[-build(-)] required by (dev-perl/TimeDate-2.300.0:0/0::gentoo, installed)
^^^^^^^^
(and 83 more with the same problem)
|
I read https://wiki.gentoo.org/wiki/Perl and tried emerge -uDNav --with-bdeps y --backtrack 100 @world but the error remains. I even tried --backtrack 300 and --backtrack 1000, same result.
So I guess I'm in the 1% of cases where --with-bdeps y --backtrack 100 doesn't work I don't know what to do.
Would it solve the problem if I uninstall all dev-perl and virtual/perl- packages and then do a world update?
// edit: which packags should I put in package.mask so that for the moment they don't get updated by @world? _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
Last edited by pablo_supertux on Fri Apr 21, 2017 10:58 pm; edited 2 times in total |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Fri Apr 21, 2017 7:47 pm Post subject: |
|
|
Jaglover wrote: | You can update perl with --nodeps and then run perl-cleaner. Make sure there is no cruft in your world file. |
Thanks for your answer. You mean emerge dev-lang/perl --nodeps? _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
albright Advocate
Joined: 16 Nov 2003 Posts: 2588 Location: Near Toronto
|
Posted: Fri Apr 21, 2017 7:47 pm Post subject: |
|
|
have you tried the "nuclear option" as suggested by (at least)
i92guboj in various threads on this topic
that is
emerge -1 --nodeps perl
and then run perl-cleaner
and then try to clean up
it worked just fine for me on three machines a couple of days ago
EDIT: sorry, my post became redundant as I typed it _________________ .... there is nothing - absolutely nothing - half so much worth
doing as simply messing about with Linux ...
(apologies to Kenneth Graeme) |
|
Back to top |
|
|
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Fri Apr 21, 2017 8:01 pm Post subject: |
|
|
Well, I butchered my perl
I tried emerge -1 --nodeps perl and then I did perl-cleaner --reallyall but it stopped with this error message
Code: |
[blocks B ] <perl-core/Encode-2.800.100_rc ("<perl-core/Encode-2.800.100_rc" is blocking virtual/perl-Encode-2.800.100_rc)
Total: 69 packages (4 upgrades, 65 reinstalls), Size of downloads: 24,446 KiB
Conflict: 1 block (1 unsatisfied)
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-perl/Module-Build:0
(dev-perl/Module-Build-0.421.600:0/0::gentoo, ebuild scheduled for merge) pulled in by
dev-perl/Module-Build:0 (Argument)
(dev-perl/Module-Build-0.420.500:0/0::gentoo, installed) pulled in by
~dev-perl/Module-Build-0.420.500 required by (virtual/perl-Module-Build-0.420.500-r1:0/0::gentoo, installed)
^ ^^^^^^^^^
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.
* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.
(perl-core/Encode-2.730.0:0/0::gentoo, ebuild scheduled for merge) pulled in by
perl-core/Encode:0
(virtual/perl-Encode-2.800.100_rc:0/0::gentoo, ebuild scheduled for merge) pulled in by
>=virtual/perl-Encode-2.100.0 required by (dev-perl/IO-HTML-1.1.0:0/0::gentoo, ebuild scheduled for merge)
virtual/perl-Encode:0
>=virtual/perl-Encode-2.210.0 required by (dev-perl/HTTP-Message-6.110.0:0/0::gentoo, ebuild scheduled for merge)
For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):
https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage#Blocked_packages
* perl-cleaner is stopping here:
* Fix the problem and start perl-cleaner again.
|
How do I fix that problem with perl-Encode? _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Fri Apr 21, 2017 8:27 pm Post subject: |
|
|
So, I removed some packages, like perl-core/Encode and virtual/perl-Encode and virtual/perl-Module-Build. With those uninstalled, perl-cleaner was able to complete.
I started a new @world update (without --backtrack) and I got this error:
Code: |
dev-lang/perl:0
(dev-lang/perl-5.24.1-r1:0/5.24::gentoo, installed) pulled in by
(no parents that aren't satisfied by other packages in this slot)
(dev-lang/perl-5.22.3_rc4:0/5.22::gentoo, ebuild scheduled for merge) pulled in by
dev-lang/perl:0/5.22=[-build(-)] required by (dev-perl/XML-Simple-2.200.0-r1:0/0::gentoo, installed)
^^^^^^^^
(and 6 more with the same problem)
|
I used --backtrack=300 --with-bdeps=y and I got this warning
Code: |
!!! Problems have been detected with your world file
!!! Please run emaint --check world
!!! Ebuilds for the following packages are either all
!!! masked or don't exist:
virtual/perl-Module-Build
|
but at least it allows me to continue the @world update. Before I continue, is it bad that virtual/perl-Module-Build wants to be built? _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Fri Apr 21, 2017 8:37 pm Post subject: |
|
|
Jaglover wrote: | Did you check your world file for clutter? |
I run emaint --check world like the error message said. It run without errors, so I don't know what else I should do.
I run the @world update with -pt and I discovered why perl-Module-Build wants to be installed
Code: |
[ebuild rR ] dev-perl/File-DesktopEntry-0.40.0-r1::gentoo USE="{-test}" 0 KiB
[ebuild rR ] dev-perl/File-BaseDir-0.30.0-r1::gentoo USE="{-test}" 0 KiB
[ebuild N ] dev-perl/Module-Build-0.421.600::gentoo USE="{-test}" 0 KiB
[ebuild rR ] virtual/perl-Text-ParseWords-3.300.0-r2::gentoo 0 KiB
...
[nomerge ] dev-perl/File-MimeInfo-0.270.0::gentoo USE="{-test}"
[nomerge ] dev-perl/Module-Build-0.421.600::gentoo USE="{-test}"
...
|
Which is the best way to see which packages depend on dev-perl/File-DesktopEntry? _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8936
|
Posted: Fri Apr 21, 2017 8:38 pm Post subject: |
|
|
virtual/perl-Module-Build isn't even known to git history (since git migration). |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Fri Apr 21, 2017 8:49 pm Post subject: |
|
|
Jaglover wrote: | Code: | $EDITOR /var/lib/portage/world |
Delete all lines you did not want to be installed. It is easy to clutter your world file if you forget --oneshot. |
my problem is, I do not develop with perl, I don't know which perl packages should stay in the word file and which should be removed. But I see that virtual/perl-Module-Build is in my world file. I'll delete it after the update has completed.
asturm wrote: |
virtual/perl-Module-Build isn't even known to git history (since git migration).
|
https://bugs.gentoo.org/show_bug.cgi?id=608168#c1
Kent explains that Module::Build has been removed. _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4553 Location: Germany
|
Posted: Fri Apr 21, 2017 9:01 pm Post subject: |
|
|
pablo_supertux wrote: |
Code: |
!!! Problems have been detected with your world file
!!! Please run emaint --check world
!!! Ebuilds for the following packages are either all
!!! masked or don't exist:
virtual/perl-Module-Build
|
but at least it allows me to continue the @world update. Before I continue, is it bad that virtual/perl-Module-Build wants to be built? |
pablo,
here is no package virtual/perl-Module-Build Code: | eix virtual/perl-Module-Build
No matches found |
Please remove this entry from your world-file via Code: | emerge -av --deselect virtual/perl-Module-Build | And run then Code: | emaint --check world |
|
|
Back to top |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4553 Location: Germany
|
Posted: Fri Apr 21, 2017 9:05 pm Post subject: |
|
|
By the way @all
recommend install packages with --nodeps is a very bad idea |
|
Back to top |
|
|
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Fri Apr 21, 2017 9:07 pm Post subject: |
|
|
@Josef.95 I know that this packages doesn't exist anymore, I eixed, too.
--nodeps is not my favourite but it worked for me. At least I'm able to run emerge @world so far. It's still compiling, so I don't know for sure that this worked _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8936
|
Posted: Fri Apr 21, 2017 9:32 pm Post subject: |
|
|
Jaglover wrote: | --nodeps exists for a reason, it wouldn't be there if it was all bad. You gotta know what you are doing. |
And if you know what *you* are doing, you are not recommending it lightly in the forums. Because someone will read it who do not know what they are doing.
In this case, *at least* as long as the world file is not in a sane state, --nodeps will at first lead to a sucess but come back and haunt you at the next emerge --update world. |
|
Back to top |
|
|
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Fri Apr 21, 2017 10:57 pm Post subject: |
|
|
Thank you all. I was able to update perl and my system. Why are perl updates alway so painful? _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
marax_faraii n00b
Joined: 11 Apr 2016 Posts: 40
|
Posted: Sat Apr 22, 2017 1:55 am Post subject: |
|
|
I know this is a nasty way of doing but I found this in another thread here in the forums and it works and is painless.
Code: | rm -rf /usr/lib/perl5/vendor_perl
emerge --unmerge perl
emerge perl
emerge --unmerge dev-perl/XML-Parser
emerge dev-perl/XML-Parser
perl-cleaner all |
I posted a thread on r/Gentoo and got this as a reply how he did it. Haven't tried yet. I too have tried with backtrack=100 before without success but next time I'll give 1000 a try as it's a much, much nicer way of handling it.
Code: | emerge -avuDN --backtrack=1000 world
perl-cleaner --all |
|
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Sat Apr 22, 2017 3:51 am Post subject: |
|
|
marax_faraii wrote: | Code: | rm -rf /usr/lib/perl5/vendor_perl
emerge --unmerge perl
emerge perl
emerge --unmerge dev-perl/XML-Parser
emerge dev-perl/XML-Parser
perl-cleaner all |
|
marax_faraii ... that will lead to future complications the next time you come to update perl (and may in fact be causing the current update to have issues), you shouldn't have these in @world, and they now will be as no '-1,--oneshot' is used.
marax_faraii wrote: | I posted a thread on r/Gentoo and got this as a reply how he did it. Haven't tried yet. I too have tried with backtrack=100 before without success but next time I'll give 1000 a try as it's a much, much nicer way of handling it.
Code: | emerge -avuDN --backtrack=1000 world
perl-cleaner --all |
|
You should also be providing '--with-bdeps=y', as the recommended solution for blockers and slot conflicts suggests.
best ... khay |
|
Back to top |
|
|
marax_faraii n00b
Joined: 11 Apr 2016 Posts: 40
|
Posted: Sat Apr 22, 2017 11:01 am Post subject: |
|
|
I've been using that method the last 2 times without issues but like I said, It's nasty as f&^k but it works.
@khayyam
I will use this way the next time
Quote: | emerge -avuDN --backtrack=1000 world --with-bdeps=y
perl-cleaner --all |
|
|
Back to top |
|
|
philip Guru
Joined: 10 Jun 2003 Posts: 535 Location: Sweden
|
Posted: Sat Apr 22, 2017 7:53 pm Post subject: |
|
|
This method
Code: | emerge -avuDN --backtrack=1000 world
perl-cleaner --all |
worked for me as well.
I still have the following in my /var/lib/portage/world
Code: | dev-perl/LaTeX-Encode
dev-perl/Net-Telnet |
Should they bee there? I do have LaTex installed. _________________ /Phil |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Sat Apr 22, 2017 9:33 pm Post subject: |
|
|
philip wrote: | I still have the following in my /var/lib/portage/world
Code: | dev-perl/LaTeX-Encode
dev-perl/Net-Telnet |
Should they bee there? I do have LaTex installed. |
philip ... are they dependencies or not?
Code: | % for p in dev-perl/LaTeX-Encode dev-perl/Net-Telnet ; do equery depends $p ; done |
If they are then you can --deselect them.
best ... khay |
|
Back to top |
|
|
Ma3oxuct Guru
Joined: 18 Apr 2003 Posts: 523
|
Posted: Mon May 29, 2017 6:13 pm Post subject: |
|
|
I was able to get my system fixed up with backtrack=1000
Code: |
emerge -avuDN --with-bdeps=y --backtrack=1000 world
|
I wonder why --backtrack=1000 isn't the default. |
|
Back to top |
|
|
|