On Thu, 19 Apr 2007, chromatic via RT wrote:
> On Thursday 19 April 2007 11:24, Andy Dougherty wrote:
>
> > But if you actually try it with perl-5.6.2, the build proceeds for a
> > while and then dies with
> >
> > perl5.6 tools/build/pmc2c.pl --vtable
> > "longmess" is not exported by the Carp module at
> > /home/doughera/src/parrot/parrot-andy/tools/build/../../lib/Parrot/Pmc2c/PC
> >CMETHOD.pm line 8
>
> > What is the actual intent? Requiring builders to run at least perl-5.8
> > does not seem unreasonable to me, but neither would requiring
> > developers to stick with perl-5.6 seem unreasonable. Parrot should,
> > however, be consistent.
>
> It looks like we could replace that longmess call in the WARN handler with
> Carp::cluck() instead without changing the intent.
I had already tried that and immediately ran into a bunch of other
little things. Before diving in (or encouraging others to dive in) I
thought it prudent to ask the more general question.
But, since you ask, on to details:
Fixing lib/Parrot/Pmc2c/PCCMETHOD.pm, the next relevant message I see is
(I have folded the long lines)
perl5.6 tools/build/ops2pm.pl src/ops/core.ops src/ops/bit.ops
src/ops/cmp.ops src/ops/debug.ops src/ops/experimental.ops
src/ops/io.ops src/ops/math.ops src/ops/object.ops src/ops/pic.ops
src/ops/pmc.ops src/ops/set.ops src/ops/stack.ops src/ops/stm.ops
src/ops/string.ops src/ops/sys.ops src/ops/var.ops
Bareword found where operator expected at lib/Parrot/Ops2pm/Utils.pm
line 536, near "$MODULE Data::Dumper"
(Missing operator before Data::Dumper?)
Naturally, the resulting lib/Parrot/OpLib/core.pm file is not correct.
A diff between core.pm and and one generated by perl-5.8 runs to
over 40,000 lines. Yet, amazingly, the build continued! Somehow the
tools/build/ops2pm.pl script still managed to return a successful status.
Ignoring that problem for the moment, the next problem shows up with
pmc2c.pl:
perl5.6 tools/build/pmc2c.pl --vtable
Global symbol "%decl" requires explicit package name at
/home/doughera/src/parrot/parrot-perl5.6/tools/build/../../lib/Parrot/Pmc2c/delegate.pm
line 99.
Compilation failed in require at
/home/doughera/src/parrot/parrot-perl5.6/tools/build/../../lib/Parrot/Pmc2c.pm
line 1220.
Compilation failed in require at
/home/doughera/src/parrot/parrot-perl5.6/tools/build/../../lib/Parrot/Pmc2c/Library.pm
line 29.
BEGIN failed--compilation aborted at
/home/doughera/src/parrot/parrot-perl5.6/tools/build/../../lib/Parrot/Pmc2c/Library.pm
line 29.
Compilation failed in require at
/home/doughera/src/parrot/parrot-perl5.6/tools/build/../../lib/Parrot/Pmc2c/Utils.pm
line 9.
BEGIN failed--compilation aborted at
/home/doughera/src/parrot/parrot-perl5.6/tools/build/../../lib/Parrot/Pmc2c/Utils.pm
line 9.
Compilation failed in require at tools/build/pmc2c.pl line 12.
BEGIN failed--compilation aborted at tools/build/pmc2c.pl line 12.
pmc2c.pl --dump fails with the same error message.
Working around those problems by building those files with perl-5.8, the
next problem is with the 3-arg open() in lib/Test/Builder.pm:
t/configure/01-options...................Unknown open() mode '>&' at
/home/doughera/src/parrot/parrot-perl5.6/t/configure/../../lib/Test/Builder.pm
line 1217.
Compilation failed in require at
/home/doughera/src/parrot/parrot-perl5.6/t/configure/../../lib/Test/More.pm
line 6.
BEGIN failed--compilation aborted at
/home/doughera/src/parrot/parrot-perl5.6/t/configure/../../lib/Test/More.pm
line 6.
Compilation failed in require at t/configure/01-options.t line 15.
BEGIN failed--compilation aborted at t/configure/01-options.t line 15.
t/configure/01-options...................dubious
Test returned status 255 (wstat 65280, 0xff00)
At this point, I stopped.
Executive summary: There are a lot of little things. Each one is
probably fixable without too much effort, but it's not worth the effort
unless someone else cares enough to routinely test with perl-5.6.
Otherwise, the requirements (in README and Configure.pl) should simply be
changed to perl-5.8.whatever.
I'll be happy to help anyone who wants help getting perl-5.6 installed.
--
Andy Dougherty [EMAIL PROTECTED]