So I run my script like this:
/usr/local/bin/perl5.8.0 -MInline=FORCE,NOCLEAN,NOISY xsubpp.problem
Starting Build Prepocess Stage
Finished Build Prepocess Stage
Starting Build Parse Stage
Finished Build Parse Stage
Starting Build Glue 1 Stage
Finished Build Glue 1 Stage
Starting Build Glue 2 Stage
Finished Build Glue 2 Stage
Starting Build Glue 3 Stage
Finished Build Glue 3 Stage
Starting Build Compile Stage
Starting "perl Makefile.PL" Stage
Writing Makefile for xsubpp_problem_b494
Finished "perl Makefile.PL" Stage
Starting "make" Stage
/usr/local/bin/perl -I/usr/local/lib/perl5/5.00503/i686-linux
-I/usr/local/lib/perl5/5.00503 /usr/local/lib/perl5/5.00503/ExtUtils/xsubpp -typemap
/usr/local/lib/perl5/5.8.0/ExtUtils/typemap xsubpp_problem_b494.xs >xstmp.c && mv
xstmp.c xsubpp_problem_b494.c
Eh? Why is it now switching back to using /usr/local/bin/perl
I admit that I'm a troublesome case - I have /usr/local/bin/perl5.8.0
and /usr/local/bin/perl5.00503 installed and both have Config.pm thinking
that they are installed as /usr/local/bin/perl
This isn't a crazy situation to be in, as it will occur whenever you install
1 version of perl, then upgrade to another, and then try to use the old one
by full name.
(and I confess to having rather a lot of other versions of perl in
/usr/local/bin)
/usr/local/bin/perl is currently a symlink to /usr/local/bin/perl5.00503
because that was the only way I could get Inline 0.44 to build against
5.005_03 (without getting horribly confused by a /usr/local/bin/perl that
was actually 5.8.0) about 15 minutes ago.
I suspect that the problem is that prior to 5.8.0 one can't really trust $^X
to be the full path of perl, so it's better to use $Config{perl} and trust
that that is perl. However, 5.8.0 is trustworthy (at least on Linux, FreeBSD
and Solaris IIRC).
Moreover, if I explicitly invoke perl with a full path (rather than as perl
and letting the shell find it in $PATH) is there any reason not to keep using
$^X?
Is it worth doing a sanity check to see if the version reported by the perl
Inline thinks it is matches $] ?
I'm not sure what the answer is, but it must be a bug (even if it's an
impossible bug to solve) because it doesn't "just work", and that's what
Inline's all about, isn't it?
This is Inline 0.44
Nicholas Clark