On Fri Jul 30 00:59:14 2010, dmacks@netspace.org wrote:
Show quoted text> Bit-Vector-7.1 asserts a requirement for Storable >= 2.21. I don't see
> documentation why that is necessary, and the uses of Storable I see
> in Bit-Vector all seem to be viable under lower versions. For
> example, all the Storable:: functions called in Vector.pm the test-
> suite exist in Storable-2.15. I tried removing the
> "$Storable::VERSION < 2.21" skip-test checks in tests 50 and 51,
> and those (as well as all other) self-tests passed completely.
> Tested on OS X in 32-bit mode, both with apple's perl5.10.0 (with
> its core Storable-2.18) and with fink's perl5.8.8 (with its core
> Storable-2.15).
>
> I am trying to redistribute Bit-Vector and trying to avoid un-
> necessarily-high dependencies. Would love some information about
> whether Storable really needs to be updated beyond those in perl
> core distros.
>
> Daniel Macks
> dmacks@netspace.org
Hi Dan!
You are right that this requirement for Storable >= 2.21 is overcautious.
Other versions of Storable with lower version numbers will also work.
The reason why I set the prerequisite to the latest version number of
Storable available at that time was that I did not have the time to
conduct the necessary (extensive!) tests which of the other Storable
versions would work, and which would not.
This unfortunately was not feasible for me to do.
If you know that the particular version of Storable installed on your
target machines will work with Bit::Vector, nothing should prevent you
from using that version.
You may in that case simply ignore the warning that the version number
of Storable is lower than expected when running the Makefile.PL of
Bit::Vector.
As long as the test suite of Bit::Vector passes, there should be no
problem at all. However, before running "make test", you will need to
adjust the following piece of code at the top of the two files
"t/50_freeze_thaw.t" and "t/51_file_nstore.t":
if ($@ or $Storable::VERSION < 2.21)
{
print "1..0 # skip module Storable 2.21 or newer not found (we have
$Storable::VERSION)\n";
exit 0;
}
For instance, change the "if" condition to just "if ($@)", or comment
out the whole "if" statement.
Just beware that later on, when upgrading Storable on those machines,
your Bit::Vector data stored in previous sessions may become unreadable,
because sometimes newer versions of Storable might not be 100% backwards
compatible.
Good luck!