On Tue, Oct 26, 2010 at 2:11 PM, Peter Stuge <[email protected]> wrote:

> Daniel van Ham Colchete wrote:
> > And this is the build log: http://pastebin.com/Em8fyRyT
> > This is my stage 1, 2 and 3 files: http://pastebin.com/bkcuGaP7
>
> 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
>
>
I solved the problem using the 20101019 portage snapshot. The guys at releng
still didn`t release Tuesday`s stage3 for this week and I think it was
because of the same problem.

I think the weekly builds are a very good way to improve system packages
stability on Portage, but I`m also getting some other problems with
non-system packages. Examples:

 * ipvsadm doesn`t build with the stable gentoo-source because the directory
include/asm changed to include/asm-generic on the kernel`s source. Solution
one: create a link. Solution two: patch. I went with #1.
 * sys-cluster/heartbeat-2.0.7-r2 doesn`t compile using the latest GCC/Glib
pair. I`m not sure witch one is the root cause. Quick solution: go for
sys-cluster/heartbeat-2.0.8 (~x86).

So, my suggestion is that the QA guys build a few stage4 stages (KDE, Gnome,
mail server, web server, file server, db server) weekly internally to
monitor for inconsistencies on the non-system part of Portage and file the
bugs everytime there is one. This way the probability of a user getting into
problems before QA is reduced.

Another sugestion: have any stabilizing package a 48 hour delay so that the
stage4 could be tested in advance. Or give a 48 hour delay for the entire
official portage tree, make QA tests daily on the live one and minimize the
risks this way also.

Thanks for the help.

Best,
Daniel van Ham Colchete

Reply via email to