[Catalyst] Catalyst::Controller: find_meta not found

Gavin Henry gavin.henry at gmail.com
Wed Feb 15 15:55:47 GMT 2012


> With a very simple catalyst app this happens:
>
> Array found where operator expected at /opt/perl/5.10/lib/site_perl/5.10.1/Catalyst/Controller.pm line 215, at end of line
>  (Missing operator before ?)
> Undefined subroutine &Catalyst::Controller::find_meta called at /opt/perl/5.10/lib/site_perl/5.10.1/Catalyst/Controller.pm line 199.
> Compilation failed in require at /opt/perl/5.10/lib/site_perl/5.10.1/Module/Runtime.pm line 317.
>  at /opt/perl/5.10/lib/site_perl/5.10.1/Catalyst/Script/Server.pm line 239
>
>
> If I comment out the 'use namespace::clean' at the top of Catalyst::Controller
> everything is fine (or seems fine).
>
> If I downgrade Class::Load, Module::Runtime, Module::Implementation, and
> MooseX::MethodAttributes everything is fine with the app w/o changes to
> Catalyst code.
>

I'm getting this as well on perlbrew 5.10.1 and it's just started
happening. I'm trying to trace back to how/when:

[ghenry at dax-xen SureVoIP-API]$ CATALYST_DEBUG=1 DBIC_TRACE=1
script/surevoip_api_server.pl
Array found where operator expected at
/home/ghenry/perl5/lib/perl5/Catalyst/Controller.pm line 215, at end
of line
	(Missing operator before ?)
String found where operator expected at
/home/ghenry/surevoip/surevoip-api-git/SureVoIP-API/script/../lib/SureVoIP/API/Controller/SMS.pm
line 19, near "has 'sms_form'"
	(Do you need to predeclare has?)
syntax error at
/home/ghenry/surevoip/surevoip-api-git/SureVoIP-API/script/../lib/SureVoIP/API/Controller/SMS.pm
line 19, near "has 'sms_form'"
BEGIN not safe after errors--compilation aborted at
/home/ghenry/surevoip/surevoip-api-git/SureVoIP-API/script/../lib/SureVoIP/API/Controller/SMS.pm
line 44.
Compilation failed in require at
/home/ghenry/perl5/lib/perl5/Catalyst/Utils.pm line 287.
Compilation failed in require at
/home/ghenry/perl5/lib/perl5/Module/Runtime.pm line 317.
 at /home/ghenry/perl5/lib/perl5/Catalyst/Script/Server.pm line 239


I'm on the latest Cat and MooseX::MethodAttributes, but will check for
downgrades like you did.


If I do:

perlbrew switch perl-5.14.2

I get:

[ghenry at dax-xen SureVoIP-API]$ CATALYST_DEBUG=1 DBIC_TRACE=1
script/surevoip_api_server.pl
Segmentation fault

If I do:

[ghenry at dax-xen SureVoIP-API]$ perl -Ilib -c lib/SureVoIP/API/Controller/SMS.pm
lib/SureVoIP/API/Controller/SMS.pm syntax OK

I can at least run perltidy and do a syntax check.


-- 
http://www.suretecsystems.com/services/openldap/
http://www.surevoip.co.uk



-- 
http://www.suretecsystems.com/services/openldap/
http://www.surevoip.co.uk



More information about the Catalyst mailing list