Have trouble with running/make test in a multi-version perl install.
The trouble comes from creat_config_file picking up binary incompatible
versions of modules when it mungs the @INC to limit module search
directories after searching for all Inline.pm(s). As I'm not certain
why it's limiting the number of include directories I don't know if this
fix is kosher. It does avoid the failure where a 5.8.8 Data/Dumper.so
was trying to load for a 5.10.1 install, I have Inline installed in
5.8.8 and am trying to install in 5.10.1
For illustration, here's my @INC before create_config_file mungs it to
create the -I arguments during make test
../blib/lib
blib/lib
/my/lib/perl5/5.10.1/x86_64-linux-thread-multi
/my/lib/perl5/5.10.1
/my/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi
/my/lib/perl5/site_perl/5.10.1
/my/lib/perl5/site_perl/5.8.8
/my/lib/perl5/site_perl
these are the -I args it comes up with by grepping for Inline and
auto/Inline
-I../blib/lib/
-I../blib/lib
-Iblib/lib
-I/my/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi
-I/my/lib/perl5/site_perl/5.10.1
-I/my/lib/perl5/site_perl/5.8.8
and this is the @INC Inline.pm reports from the subsequent system perl
call ( from an added BEGIN block )
../blib/lib/
../blib/lib
blib/lib
/my/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi
/my/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi
/my/lib/perl5/site_perl/5.10.1
/my/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
/my/lib/perl5/site_perl/5.8.8
/my/lib/perl5/5.10.1/x86_64-linux-thread-multi
/my/lib/perl5/5.10.1
/my/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi
/my/lib/perl5/site_perl/5.10.1
/my/lib/perl5/site_perl/5.8.8
/my/lib/perl5/site_perl
.
which is out of order and 5.8.8 site_perl modules that have migrated to
core cause the trouble.
the change below seems to work, but I doubt it's correct as those
manipulations probably have a purpose.
--- prev/Inline.pm 2010-03-31 03:11:33.000000000 -0700
+++ new/Inline.pm 2010-06-05 17:32:52.680573000 -0700
@@ -788,9 +788,8 @@
# -d
File::Spec->catdir($_,"auto","Inline")
# )} @INC);
#system "$perl $INC -MInline=_CONFIG_ -e1 $dir"
- my @INC = map { "-I$_" }
- ($inline,
- grep {(-d File::Spec->catdir($_,"Inline") or -d
File::Spec->catdir($_,"auto","Inline"))} @INC);
+ my @INC = map { "-I$_" } ( $inline, @INC );
+ #grep {(-d File::Spec->catdir($_,"Inline") or -d
File::Spec->catdir($_,"auto","Inline"))} @INC);
system $perl, @INC, "-MInline=_CONFIG_", "-e1", "$dir"
and croak M20_config_creation_failed($dir);
return;