Subject: | «Can't locate object method "init_INST" via package "PACK001"» |
Hello Autrijus,
While trying to install JSAN 0.04, I ran into the following:
$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Class::DBI 0.96 not found.
Warning: prerequisite File::Temp 0.14 not found.
Can't locate object method "init_INST" via package "PACK001" at /usr/lib/perl5/5.8.5/ExtUtils/MakeMaker.pm line 497.
# Looks like your test died before it could output anything.
Then it dies and of course no Makefile is created.
Even the warnings are strange because I actually have Class::DBI 0.96 and File::Temp 0.16.
Running it with Devel::SimpleTrace gave some interesting results:
$ perl -MDevel::SimpleTrace Makefile.PL
Warning: prerequisite Class::DBI 0.96 not found.
at ExtUtils::MakeMaker::new(unknown source)
at ExtUtils::MakeMaker::WriteMakefile(/usr/lib/perl5/5.8.5/ExtUtils/MakeMaker.pm:58)
at Module::Install::Makefile::write(inc/Module/Install/Makefile.pm - /Library/Perl/5.8.6/Module/Install/Makefile.pm:92)
at Module::Install::WriteAll::WriteAll(inc/Module/Install/WriteAll.pm - /Library/Perl/5.8.6/Module/Install/WriteAll.pm:30)
at main::(Makefile.PL:36)
Warning: prerequisite File::Temp 0.14 not found.
at ExtUtils::MakeMaker::new(unknown source)
at ExtUtils::MakeMaker::WriteMakefile(/usr/lib/perl5/5.8.5/ExtUtils/MakeMaker.pm:58)
at Module::Install::Makefile::write(inc/Module/Install/Makefile.pm - /Library/Perl/5.8.6/Module/Install/Makefile.pm:92)
at Module::Install::WriteAll::WriteAll(inc/Module/Install/WriteAll.pm - /Library/Perl/5.8.6/Module/Install/WriteAll.pm:30)
at main::(Makefile.PL:36)
Checking if your kit is complete...
Looks good
Can't locate object method "init_INST" via package "PACK001" at /usr/lib/perl5/5.8.5/ExtUtils/MakeMaker.pm line 497.
# Looks like your test died before it could output anything.
If you look closely at the trace, you can see something strange: the modules are credited with two paths, one in the inc/ directory, one in the /Library directory. Could be fine, except I'm not on Mac OS X, so I don't have /Library. And there is no reason for the presence of two paths in this trace, and I'm quite sure it's not Devel::SimpleTrace fault because it just uses caller().
Following Adam Kennedy's advice, I ran
$ perl -d:DProf Makefile.PL
$ dprofpp -T >tmon.txt
I attach the resulting tmon.txt to this ticket.
Platform and software versions:
Linux/i386 2.6.8.1
Perl 5.8.5
ExtUtils::MakeMaker 6.30
Ask me if you want me to run additionnal tests.
Regards
Message body is not shown because it is too large.