develooper Front page | perl.perl5.porters | Postings from December 2008

Re: Storable

Thread Previous | Thread Next
From:
Nicholas Clark
Date:
December 14, 2008 06:48
Subject:
Re: Storable
Message ID:
20081214144831.GD51978@plum.flirble.org
On Fri, Dec 12, 2008 at 03:38:40PM -0500, Jonathan Blaine wrote:

> (on version 2.18)
> S:\>Test_Storable.pl S
> 
> (on version 2.15)
> S:\>Test_Storable.pl L
> 
> Storable binary image v2.7 more recent than I am (v2.6) at
> ..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\_retrieve.al)
> line 323, at \\storage1\webs$\data\test_storable.pl line 9

That's not 2.15 you're using there. At least, not a proper 2.15.

I get the same as you when I try a stock 5.8.2 install:

$ ~/Sandpit/582/bin/perl Test_Storable.pl 
Storable binary image v2.7 more recent than I am (v2.6) at ../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_retrieve.al) line 323, at Test_Storable.pl line 10
$

However, if I build and install Storable 2.15 against 5.8.2 I see this:

$ ~/Sandpit/582/bin/perl Test_Storable.pl 
$ 

If you look at the source code for 2.15, for example here:

http://search.cpan.org/src/AMS/Storable-2.15/Storable.xs

You'll see that it has

#define STORABLE_BIN_MAJOR	2		/* Binary major "version" */
#define STORABLE_BIN_MINOR	7		/* Binary minor "version" */

so its "minor" version is 7, the same as 2.18.

Digging up the annotated change history of Storable.xs

http://public.activestate.com/cgi-bin/perlbrowse/b/ext/Storable/Storable.xs

I see that the change of MINOR from 6 to 7 was this:

http://public.activestate.com/cgi-bin/perlbrowse/p/23079

Change 23079 by nicholas@ship-in-a-bottle on 2004/07/10 21:58:34

	Store weak references.


In turn, Storable's ChangeLog suggests that that change was released as part of
version 2.11:

Sat Mar 13 20:11:03 GMT 2004   Nicholas Clark <nick@ccl4.org>
	
    Version 2.11

        1. Storing restricted hashes in canonical order would SEGV. Fixed.
        2. It was impossible to retrieve references to PL_sv_no and and
           PL_sv_undef from STORABLE_thaw hooks.
        3. restrict.t was failing on 5.8.0, due to 5.8.0's unique
           implementation of restricted hashes using PL_sv_undef
        4. These changes allow a space optimisation for restricted hashes.



Your error message implies that the Storable you have installed is version
2.10, not 2.15, as STORABLE_BIN_MINOR was changed from 5 to 6 with this:

http://public.activestate.com/cgi-bin/perlbrowse/p/17741

Change 17741 by hv@hv-crypt.org on 2002/08/20 14:20:16

	Subject: Re: [PATCH] Storable and CODE references
	From: Slaven Rezic <slaven.rezic@berlin.de>
	Date: 17 Aug 2002 21:58:03 +0200
	Message-id: <87bs812r78.fsf@vran.herceg.de>


which appears to have been released with Storable 2.10

Nicholas Clark

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About