jk2addict has asked for the wisdom of the Perl Monks concerning the following question:
Holy crap, this is a stumper. I got a report from Sean Comeau about perl Makefile.PL in Handel creating a 0 byte Makefile under perl 5.8.6, EU::MM 6.30 on OpenBSD 3.8. After a lot of queestions and tinkering, he setup ssh access for me to tinker on the machine in question. I've found the single statement that causes the problem, and I'm even more mystified what the hell is going on. Of course, all works fine in the same EU::MM version on FreeBSD/Linux.
Here's the pared down Makefile.PL. The original version ran eval to determine is APR::UUID is available, and if it was, add it to PREREQ.
use ExtUtils::MakeMaker; use 5.006; use strict; # this line causes a 0 byte Makefile eval 'use APR::UUID;'; # These doesn't work either: # eval 'require APR::UUID'; # eval {require APR::UUID}; # use APR::UUID; WriteMakefile( NAME => 'Handel', VERSION_FROM => 'lib/Handel.pm', AUTHOR => 'Christopher H. Laco <claco@chrislaco.com>', ABSTRACT => 'Simple ecommerce framework with AxKit support', PREREQ_PM => { 'Class::DBI' => '0.96', 'DBI' => '1.36', 'Error' => '0.14', 'Locale::Maketext' => '1.06', 'Module::Pluggable' => '2.95', 'Path::Class' => '0', }, (ExtUtils::MakeMaker->VERSION >= 6.11) ? (NO_META => 1) : (), dist => { PREOP => 'pod2text lib/Handel.pm > $(DISTVNAME)/README', }, test => { TESTS => join ' ', (glob("t/*.t"))} );
If I remove all of those problemed lines, the Makefile is generated just fine. What's going on?
To make matters stranger, this works just fine:
perl -e 'use APR::UUID;print APR::UUID->new->format;'
If there's a problem with the APR module, why in Makefile.PL and not in -e? If the lib is just crapping out, where's the error?
-=Chris
|
|---|