Discussion:
Digest::MD5 dependency
David Oswald
2012-05-18 23:21:11 UTC
Permalink
Inline::CPP claims to support Perl 5.6.0, and it ought to. Nothing
exists within Inline::CPP, or even Inline and Inline::C that would
hamper this backward compatibility. But there's one problem:
Digest::MD5 got added to the Perl core with Perl v5.8.0. It looks
like Digest::MD5 version 2.40 was the last version that remained
backward-compatible with Perl 5.8.0 and earlier. The current version
of Digest::MD5 (2.51) seems ok back to Perl 5.8.1, but not before.

What does this have to do with Inline?

Digest::MD5 is a dependency for Inline.

If a user installs Inline, or Inline::CPP, or any other Inline::* on a
Perl 5.6.0 through 5.8.0 system that doesn't already have some old
version of Digest::MD5 installed, the latest version of Digest::MD5
will be pulled in by the cpan installer. That latest version will
fail to build, and cause Inline::* to fail as well.

So if we're claiming backward compatibility with Perls earlier than
5.8.1, we would have to qualify that with "If you specifically
install Digest::MD5 version 2.40 or lower first."

There are two patches sitting in the RT for Digest::MD5 that claim to
overcome the issue. One user I've been corresponding with mentioned
the following:

"With 5.8.0 (64-bit), Digest::MD5 fails testing because it is using
utf8::is_utf8 without checking the version (this was added in 5.8.1)."


I'm not on the p5p list. Is there a p5p list-member here who would
like to raise the issue there?


Dave
--
David Oswald
daoswald-***@public.gmane.org
Sisyphus
2012-05-19 02:05:50 UTC
Permalink
----- Original Message -----
From: "David Oswald"
Post by David Oswald
So if we're claiming backward compatibility with Perls earlier than
5.8.1, we would have to qualify that with "If you specifically
install Digest::MD5 version 2.40 or lower first."
Not for 5.8.0. There's no need to install anything.
But, yes - for 5.6.x you need to install a version of Digest::MD5 that's
compatible with that ancient perl version.
Post by David Oswald
There are two patches sitting in the RT for Digest::MD5 that claim to
overcome the issue. One user I've been corresponding with mentioned
"With 5.8.0 (64-bit), Digest::MD5 fails testing because it is using
utf8::is_utf8 without checking the version (this was added in 5.8.1)."
IMO, this person should either:
a) Update perl to at least version 5.8.1 or;
b) Install a sufficiently recent version of Digest::MD5 (making use of the
patches).
Post by David Oswald
I'm not on the p5p list. Is there a p5p list-member here who would
like to raise the issue there?
I'm not all that keen to ask p5p to go stuffing around with Digest::MD5 just
to accommodate ancient builds of perl - given that (apparently) it's quite a
simple task for users of these ancient builds to fix the problem themselves.

Cheers,
Rob

Loading...