Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Once again perl is blocking my world update [solved]
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
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Apr 21, 2017 7:39 pm    Post subject: Once again perl is blocking my world update [solved] Reply with quote

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
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Fri Apr 21, 2017 7:45 pm    Post subject: Reply with quote

You can update perl with --nodeps and then run perl-cleaner. Make sure there is no cruft in your world file.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Apr 21, 2017 7:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
albright
Advocate
Advocate


Joined: 16 Nov 2003
Posts: 2588
Location: Near Toronto

PostPosted: Fri Apr 21, 2017 7:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Apr 21, 2017 8:01 pm    Post subject: Reply with quote

Well, I butchered my perl :evil:

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
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Fri Apr 21, 2017 8:22 pm    Post subject: Reply with quote

I went thru same ordeal once, I just unmerged all offenders. I figured portage will pull them back if they really are needed. Everything went fine.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Apr 21, 2017 8:27 pm    Post subject: Reply with quote

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
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Fri Apr 21, 2017 8:33 pm    Post subject: Reply with quote

Did you check your world file for clutter?
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Apr 21, 2017 8:37 pm    Post subject: Reply with quote

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
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8936

PostPosted: Fri Apr 21, 2017 8:38 pm    Post subject: Reply with quote

virtual/perl-Module-Build isn't even known to git history (since git migration).
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Fri Apr 21, 2017 8:42 pm    Post subject: Reply with quote

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 Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Apr 21, 2017 8:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Fri Apr 21, 2017 8:52 pm    Post subject: Reply with quote

If you do not know why it is in world file delete it. Only applications you want to be installed belong there. After cleaning up the world file follow up with emerge -a --depclean.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4553
Location: Germany

PostPosted: Fri Apr 21, 2017 9:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4553
Location: Germany

PostPosted: Fri Apr 21, 2017 9:05 pm    Post subject: Reply with quote

By the way @all
recommend install packages with --nodeps is a very bad idea
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Apr 21, 2017 9:07 pm    Post subject: Reply with quote

@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
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Fri Apr 21, 2017 9:20 pm    Post subject: Reply with quote

Josef.95 wrote:
By the way @all
recommend install packages with --nodeps is a very bad idea


--nodeps exists for a reason, it wouldn't be there if it was all bad. You gotta know what you are doing.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8936

PostPosted: Fri Apr 21, 2017 9:32 pm    Post subject: Reply with quote

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
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Apr 21, 2017 10:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
marax_faraii
n00b
n00b


Joined: 11 Apr 2016
Posts: 40

PostPosted: Sat Apr 22, 2017 1:55 am    Post subject: Reply with quote

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
View user's profile Send private message
khayyam
Watchman
Watchman


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

PostPosted: Sat Apr 22, 2017 3:51 am    Post subject: Reply with quote

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
View user's profile Send private message
marax_faraii
n00b
n00b


Joined: 11 Apr 2016
Posts: 40

PostPosted: Sat Apr 22, 2017 11:01 am    Post subject: Reply with quote

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 :D
Quote:
emerge -avuDN --backtrack=1000 world --with-bdeps=y
perl-cleaner --all
Back to top
View user's profile Send private message
philip
Guru
Guru


Joined: 10 Jun 2003
Posts: 535
Location: Sweden

PostPosted: Sat Apr 22, 2017 7:53 pm    Post subject: Reply with quote

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
View user's profile Send private message
khayyam
Watchman
Watchman


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

PostPosted: Sat Apr 22, 2017 9:33 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ma3oxuct
Guru
Guru


Joined: 18 Apr 2003
Posts: 523

PostPosted: Mon May 29, 2017 6:13 pm    Post subject: Reply with quote

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
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