On my machine, I have two versions of Perl installed: 5.6 and 5.7.2.
5.6 came with the OS (Mac OS X), and I installed 5.7.2 myself.
The way that @INC is set up means that 5.6 will try the 5.7.2 modules
if it can't find what it's looking for in the 5.6 directories.
Now, Inline reinvokes Perl for configuration purposes, and passes
-I options to the invoked Perl. The way that it does that means
that any directory which contains Inline is given precedence.
I installed Inline against 5.7.2 a few weeks ago. Today I tried
to install it against 5.6. When I did "make test", the reinvoked
Perl would give precedence to the 5.7.2 directories (because they
contain Inline), meaning that the wrong version of Digest::MD5
gets picked up and the whole thing breaks.
The patch below solves the problem, at least for me.
.robin.
--- Inline.pm.orig Sun Aug 26 12:57:05 2001
+++ Inline.pm Sun Aug 26 13:17:54 2001
@@ -668,9 +668,7 @@
$inline =~ s|/+|/|g;
$inline =~ s|/?Inline\.pm||;
$inline ||= '.';
- my $INC = "-I$inline -I" . join(" -I", grep {(-d "$_/Inline" or
- -d "$_/auto/Inline"
- )} @INC);
+ my $INC = "-I" . join(" -I", @INC);
system "$perl $INC -MInline=_CONFIG_ -e1 $dir"
and croak M20_config_creation_failed($dir);
return;