smiffy has asked for the wisdom of the Perl Monks concerning the following question:

Hi Folks

I have just run into a little problem and was wondering if a) anyone else has seen it before and b) if they managed to fix/work around it.

When doing an emerge -u of gvim, the process borked telling me that I need to re-emerge Perl and libperl so that they are the same version. Looking closer at the messages, it appeared that emerge was looking not at the system Perl (5.8.8) but at my test installation (5.10.0) in /usr/local. Now, 5.10.0 is the default Perl for my login, but not for root as which I was running emerge.

I have just written a little programme to print out what is in @INC. Running this as myself or as root, putting the system Perl after the shebang, everything looks fine. I then compare this to what emerge is claiming to be @INC - and it is looking at the other (wrong) installation again.

Re-emerging Perl and libperl (which means I now have to re-install all my modules from autobundle, grumble, grumble) has no effect on this.

Cheers

Smiffy

Update

I have found a temporary work-around by renaming my Perl 5.10.0 executable, creating a symlink from the system Perl executable to /usr/local/bin/perl, running the emerge, removing the symlink and putting the 5.10.0 executable back as it was.

This doesn't answer the question as to why emerge was looking at the wrong Perl executable - I would have thought that emerge would have used a strictly-defined $PATH.

Replies are listed 'Best First'.
Re: Gentoo emerge using wrong Perl version
by Anonymous Monk on Oct 12, 2008 at 02:03 UTC

      You're probably right. I tend to assume that I'm at fault when things go wrong, but I don't think that is so in this case. I've just posted to the Gentoo forums on this to see what comes back (will update here if anything interesting turns up).

      If I encounter the problem again and have no satisfactory explanation, I'll raise a bug - but I'm not going to roll-back that last emerge just so I can copy some error messages ;-)