On Tue, Oct 26, 2010 at 2:11 PM, Peter Stuge
<peter@stuge.se> wrote:
Which version of perl is in the 20101019 stage3?
5.8.8
> Tie/Hash.pm is available on my old Perl 5.8.8 installation but it
> doesn't appear to be on Perl 5.12.2.
I've done similar as you, but I tried to take a shortcut and build
stage4 directly from today's stage3.
For the most psrt it works fine, but especially with perl modules
there's a twist.
Portage doesn't know which version of perl that the installed modules
were built against, and even if a module was built against an older
perl, the dependency on that module is still satisfied, even if perl
has been upgraded so that the module cannot be found.
This happened to me when today's stage3 had one version of perl, and
a newer one was in my stage4.
Rather than doing the correct thing and build my own stage3 like you,
I just hacked around it by calling perl-cleaner --allmodules in
/usr/lib64/catalyst/targets/stage4/stage4-chroot.sh which is kinda
ugly but does work.
The problem is that Tie/Hash.pm is a built in module. When the stage1 installs Perl 5.12.2 the Tie/Hash.pm is not going to /usr/lib/perl/5.12.2 even though Perl 5.8.8 is not installed on /tmp/stage1root. I`m pretty much sure this is a bug with the recently stabilized new Perl 5.12.2 ebuild.
> So, when building a new stage3 Perl 5.8.8 is not getting there and
> I think this is the cause of the problem.
Again, which version is in your stage3?
> The stage1 build failed as well, but when I did a
> catalyst -a -f stage1.spec after the failure, the build finished
> correctly, so I didn`t want to search for the root cause.
Leaving unexplained errors is always risky, and can definately come
back to bite you later. Do you at least recall how it failed? If it
was related to perl then this might still be the same problem, but I
don't know if perl is at all involved in stage1.
//Peter