Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
How did the Perl 5.20 upgrade go for you?
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  

How does the Perl 5.20 upgrade go for you?
No blockers or other problems
57%
 57%  [ 45 ]
Minor trouble that I could solve myself (please comment)
28%
 28%  [ 22 ]
Help, I'm stuck.
14%
 14%  [ 11 ]
Total Votes : 78

Author Message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8935

PostPosted: Mon Apr 13, 2015 6:42 pm    Post subject: Reply with quote

Then simply unmerge it - it left the tree for a reason.
Back to top
View user's profile Send private message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2390
Location: Germany

PostPosted: Mon Apr 13, 2015 11:51 pm    Post subject: Reply with quote

I know its bad practise, but yes i have a unstable Gnome-System. So muchfiles.....

oh i do unemerging them, just, on one system i have no /usr/include/GL/gl.h File. So much of that opengl Stuff wont compile. I am not sure, but think its that i need nvidia-drivers-340.76.ebuild and hacked the nvidia-driver before. Ore some miss calibrate about my useflags and opengl/egl/gles2 falgs.

So update world update is broken and perl-cleaner --all too. The only thing that i could do is update some stuff... till there is nothing left.

Edit: after some Hours it went all fine. Since i got my portage broken during another (python related) unemerge of some package i was a little shy with the perl-update. Don't know which packages could brake the whole system or if there is nothing bad.

I did not understood the virtual packages or the perl-core packages at the first time. Don't know which are the good and which are the bad files.

The computer with the nvidia-drivers-340.76 that i patched for the 3.18er Kernel Source, got his egl and gles2 useflags back (since gnome-shell and other packages want it) so most of the stuff compiled now without problems.

The perl update was a success on all systems without big problems.
Back to top
View user's profile Send private message
Ema64
n00b
n00b


Joined: 19 Apr 2015
Posts: 19

PostPosted: Sun Apr 19, 2015 8:12 am    Post subject: Reply with quote

I've a Gentoo system from 2010 and my upgrade to Perl 5.20 was long (one morning of unmerging e reemerging) but now it is fine.

In my case Portage alone was not able to update but every message it gave me was right and in the proper direction.

Good luck!
Back to top
View user's profile Send private message
brian.ashton
n00b
n00b


Joined: 02 Oct 2013
Posts: 7

PostPosted: Thu Apr 23, 2015 3:30 pm    Post subject: Reply with quote

Greetings, Help I'm stuck!

emerge --backtrack=100 dev-lang/perl | tail #(full output at end of post)
Code:
* Detected file collision(s):
 *      /usr/lib64/perl5/5.20.2/x86_64-linux/Data/Dumper.pm
 *      /usr/lib64/perl5/5.20.2/x86_64-linux/auto/Data/Dumper/Dumper.so
 * Searching all installed packages for file collisions...
 * Press Ctrl-C to Stop
 * perl-core/Data-Dumper-2.154.0:0::gentoo
 *      /usr/lib/perl5/5.20.2/x86_64-linux/Data/Dumper.pm
 *      /usr/lib/perl5/5.20.2/x86_64-linux/auto/Data/Dumper/Dumper.so
 * Package 'dev-lang/perl-5.20.2' NOT merged due to file collisions. If
 * necessary, refer to your elog messages for the whole content of the
 * above message.


How I got into this situation:
A) I noticed Amavisd/clamd was propping up the system load (~6.5, usually 0.2). I restarted Amavisd and it wouldn't restart - there was an error that said I should run sa-update.
B) So I ran sa-update, but there was an error as well. I don't recall what the original error was, but this is the error it is currently throwing: Can't locate HTML/Parser.pm in @INC
C) At this point I (stupidly, yes) decided to update perl. And I (idiotically, yes) did it through cpan and not emerge.
D) I realized that I now had 2 perl binaries. The emerged one in /usr/bin and the cpan one in /usr/local/bin. The emerged one was 5.18(might be wrong on this version number - no way to check), while the cpan one was 5.20.2. Not understanding if modules I installed with cpan were also available to the emerged /usr/bin/perl (I still don't) I decided to upgrade the emerge one to match versions. I masked versions higher than 5.20.2 and the upgrade seemed to happen.
E) I ran perl-cleaner --modules, and then perl-cleaner --reallyall and these commands are where I first saw the collision error (above).
F) Collision? It must be because I (moronically, yes) upgraded perl with cpan right? No problem. I will just uninstall all that cpan stuff and be on my way. I can just reinstall them with emerge and done. Here is what I did:

Code:
#!/bin/bash
for module in $(perldoc -u perllocal | grep -F 'C<Module> L<' | sed 's/^.*L<\(.*\)|.*>$/\1/') ; do
  cpanp uninstall "$module"
done


G) Some of the modules uninstalled successfully, some didn't. But what a mess. Ok, this is getting serious. More reading and I decide I need to update perl with emerge and run perl-cleaner. But I am still getting the collision error when I emerge dev-lang/perl, even with --backtrack=100. Even if I do an emerge --emptytree.
H) Ok. So more reading. Then I find this thread and after a number of failed suggestions (including a failed emerge @world, and emerge --skipfirst @world) I decide to try the suggestion to emerge -C perl-core/*. All seems to go well, except when finished I am still getting the original collision error. perl-cleaner = collision error. emerge with/without --backtrack at dev-lang/perl and/or @world = collision error. And that is where I am. It seems to me that perl installs 2 files that cause a collision error in one of it's dependencies.

From what I understand, the server may be in an unstable state if it reboots, so your input is greatly appreciated!

Output in the current state:
for name in $(qlist -IC 'perl-core/*') ; do equery depends $name ; done
Code:
 * These packages depend on perl-core/CGI:
 * These packages depend on perl-core/CPAN-Meta:
 * These packages depend on perl-core/Data-Dumper:
virtual/perl-Data-Dumper-2.154.0 (~perl-core/Data-Dumper-2.154.0)
 * These packages depend on perl-core/ExtUtils-Manifest:
 * These packages depend on perl-core/ExtUtils-ParseXS:
 * These packages depend on perl-core/File-Temp:
virtual/perl-File-Temp-0.230.400-r2 (~perl-core/File-Temp-0.230.400)
 * These packages depend on perl-core/IO-Socket-IP:
 * These packages depend on perl-core/IPC-Cmd:
 * These packages depend on perl-core/Module-Build:
 * These packages depend on perl-core/Module-CoreList:
 * These packages depend on perl-core/Test-Harness:
 * These packages depend on perl-core/Time-Local:


emerge --backtrack=100 dev-lang/perl
https://bpaste.net/show/d4cd4498abfd

Cheers,
_________________
Everything in moderation, including moderation.
Back to top
View user's profile Send private message
Ema64
n00b
n00b


Joined: 19 Apr 2015
Posts: 19

PostPosted: Sat Apr 25, 2015 10:51 am    Post subject: Reply with quote

Hi Brian!

It's strange but I passed through some of your step; the only difference is about CPAN mode: I really like the emerge tool idea so I strictly sticked to it.

Now I do not know about the possible counter issue when using CPAN but when in Gentoo some problem is tooooo nasty, then my rule of thumb is remove all an reinstall all.

So without reboot of course in the middle of the process (or ok reboot but take in your hand an USB key with some parted magic tool ;) ) check for collisions and unmerge them ruthlessly.

In fact I successfully went through two Perl updates with emerge only by unmerging (yeah it's not safe but I do not know any other way as of now) collisions and there are really a lot.

Until reboot Perl modules seem 'safely' uninstallable (please someone check this statement, maybe it worked only for me) and reinstalled.

And about emerge --backtrack... ok... ehm... it never worked for me :):):) Apart from that I don't like it: when emerge complains about something it's something we must fix not 'bypass'. Backtrack today with a number and tomorrow you'll need a greater number until stuck. Better to solve the issue at it's core; but that's only an opinion :)

Here follows my guide (unfortunately not so detailed :( ) about the lucky update of Perl 5.20:

# To upgrade Perl (missing maybe some virtual packages)
# 1. unmerge dev-perl: emerge --unmerge $(eix '-I#' dev-perl)
# 2. execute: emerge --update --newuse perl; if collisions then prior to that unmerging the specific program
# 3. check for every program linked to Perl and reinstalls it
# 4. emerge perl-cleaner
# 5. perl-cleaner --phall
# 6. perl-cleaner --libperl

Apart from that I'm totally unaware about the possible problem caused by nesting CPAN and emerge: about that I cannot help, sorry.

Good luck.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page Previous  1, 2, 3
Page 3 of 3

 
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