From: demerphq
Sent: Friday, July 18, 2014 7:40 AM
The above shows what goes wrong. Makemaker decides that PERL_LIB is
"../../../../" instead of
"/home/yorton/perl5/perlbrew/perls/perl-5.14.4/lib/5.14.4"
below is the diff of the two Makefiles, but the relevant part is as
follows:
-PERL_LIB = /home/yorton/perl5/perlbrew/perls/perl-5.14.4/lib/5.14.4
-PERL_ARCHLIB =
/home/yorton/perl5/perlbrew/perls/perl-5.14.4/lib/5.14.4/x86_64-linux
+PERL_LIB = ../../../../lib
+PERL_ARCHLIB = ../../../../lib
I am guessing that MakerMaker decides that is being used as part of
building perl, and that it should use it as the location for its header
files. I know there is special logic in MakeMaker for this kind of
purpose.
I didn't know that.
If we could get a handle on precisely how to detect that this problem might
arise, then we could probably have Inline issue a warning that "things might
go awry, and if they do then you should move the script to a different
(sane) location".
I tried running your demo script on Windows (as try.pl) in
C:/git_tree/perl/Porting with perl-5.14.0, EU-MM-6.62 and it still worked
fine for me.
Might there be a perlbrew component to this issue ? (I'm not at all familiar
with perlbrew. I just build my perls the old fashioned way and call them via
different shell/batch scripts.)
I see that you're running EU-MM-6.57_05. If you think it's worth the effort
I guess you could see if updating to EU-MM-6.62 fixes the problem - or do
any other digging you think might be productive. (It's actually a bit
interesting.)
Otherwise we can just settle for the "Don't do that" solution ;-)
Cheers,
Rob