On Mon, 17 Nov 2008, Reini Urban via RT wrote: > 2008/11/17 Andrew Dougherty <[EMAIL PROTECTED]>: > > On Sun, 16 Nov 2008, chromatic via RT wrote: > > > >> Storable 2.18 required in r32744, which should resolve this issue. > > > > But the ultimate problem was that the issue was an unnecessary hurdle. > > At the time of the bug report, I tried building with Storable-2.12 and > > with 2.18 and observed *no difference*. That means that Storable-2.13 > > wasn't really *required* at all. > > > > I agree that explicitly requiring 2.18 early on gives a failure with a > > clear error message right away, which is definitely much better than > > getting a failure a long time after you've started the process and walked > > away. It's just that no failure is necessary at all. 2.12 worked just > > fine for parrot. > > 2.12 only works okay for a newer perl > 5.8.6. > 5.8.4 fails for sure, and I forgot if it was 5.8.6, which fixed > overloading in CORE.
Sigh. No. 5.8.4 does not fail for sure. I tested that explicitly. Just to be sure, I decided to check again. Here is the actual script I just ran (this was on Linux, just in case the patched OpenSolaris version of 5.8.4 included a patch which happened to be relevant.) The output at the end compares the directory trees for parrot built using Storable 2.12 and 2.18. The *only* differences reported are: 1. Different values for PARROT_CONFIG_DATE. 2. Binary files differ. (Expected because of #1 above, as well as time stamps.) 3. The Storable version requirement patch (s/2.18/2.12/) I applied to get parrot to compile with plain 5.8.4. 4. The temp file names used in the test suite There were no other differences. None. Each version fared identically on the test suite. This is what I mean when I say that I tried building with Storable-2.12 and with 2.18 and observed no difference. I am not saying that there are no bugs in the older Storable. Just that version 2.12 worked fine for parrot. #!/bin/sh prefix=/tmp/perl-5.8.4 perl=$prefix/bin/perl rm -rf $prefix bzip2 -d -c perl-5.8.4.tar.bz2 | tar -xf - cd perl-5.8.4 sh Configure -Dprefix=$prefix -des make -j 4 make install cd .. wget http://svn.perl.org/snapshots/parrot/parrot-latest.tar.gz cat > patch-2.12 <<END_of_PATCH diff -r -u parrot/lib/Parrot/Configure.pm parrot-2.12/lib/Parrot/Configure.pm --- parrot/lib/Parrot/Configure.pm 2008-11-17 03:15:14.000000000 -0500 +++ parrot-2.12/lib/Parrot/Configure.pm 2008-11-17 11:32:27.000000000 -0500 @@ -40,7 +40,7 @@ use lib qw(config); use Carp qw(carp); -use Storable qw(2.18 nstore retrieve nfreeze thaw); +use Storable qw(2.12 nstore retrieve nfreeze thaw); use Parrot::Configure::Data; use base qw(Parrot::Configure::Compiler); diff -r -u parrot/lib/Parrot/Pmc2c/Pmc2cMain.pm parrot-2.12/lib/Parrot/Pmc2c/Pmc2cMain.pm --- parrot/lib/Parrot/Pmc2c/Pmc2cMain.pm 2008-11-17 03:15:14.000000000 -0500 +++ parrot-2.12/lib/Parrot/Pmc2c/Pmc2cMain.pm 2008-11-17 11:32:19.000000000 -0500 @@ -4,7 +4,7 @@ use strict; use warnings; -use Storable 2.18; +use Storable 2.12; use Parrot::PMC (); use Parrot::Pmc2c::VTable (); use Parrot::Pmc2c::Dumper; END_of_PATCH # Build using Storable 2.12 in 5.8.4. gzip -d -c parrot-latest.tar.gz | tar -xf - cd parrot patch -p1 -N < ../patch-2.12 $perl Configure.pl make make test > test.log 2>&1 cd .. mv parrot parrot-2.12 gzip -d -c Storable-2.18.tar.gz | tar -xf - cd Storable-2.18 $perl Makefile.PL make make install cd .. # Build using Storable 2.18 gzip -d -c parrot-latest.tar.gz | tar -xf - cd parrot $perl Configure.pl make make test > test.log 2>&1 cd .. mv parrot parrot-2.18 diff -r -u parrot-2.12 parrot-2.18 -- Andy Dougherty [EMAIL PROTECTED]