Skip to content

Instantly share code, notes, and snippets.

@redhotpenguin
Created April 24, 2012 18:11
Show Gist options
  • Save redhotpenguin/2482200 to your computer and use it in GitHub Desktop.
Save redhotpenguin/2482200 to your computer and use it in GitHub Desktop.
Moose compilation error
Can't use an undefined value as a HASH reference at /usr/lib64/perl5/MooseX/Role/WithOverloading/Meta/Role/Application.pm line 45.
Compilation failed in require at /home/fred/myperl/lib/perl5/Module/Runtime.pm line 317.
at /home/fred/myperl/lib/perl5/x86_64-linux-thread-multi/Moose.pm line 67
Compilation failed in require at /usr/share/perl5/Catalyst/Utils.pm line 4.
BEGIN failed--compilation aborted at /usr/share/perl5/Catalyst/Utils.pm line 4.
Compilation failed in require at /usr/share/perl5/Catalyst/Script/Server.pm line 11.
BEGIN failed--compilation aborted at /usr/share/perl5/Catalyst/Script/Server.pm line 11.
Compilation failed in require at /home/fred/myperl/lib/perl5/Module/Runtime.pm line 317.
@redhotpenguin
Copy link
Author

An upgrade to MooseX::Getopt version 0.40 from 0.37 did not solve the issue.

@redhotpenguin
Copy link
Author

A clean upgrade with Package::Stash to 0.33 and Moose to 2.0 resulted in this new error:

Due to method name conflicts in roles 'Catalyst::ScriptRole' and 'MooseX::Getopt', the methods '_getopt_full_usage', '_getopt_spec_exception', and '_getopt_spec_warnings' must be implemented or excluded by 'Catalyst::Script::Server' at /home/fred/myperl/lib/perl5/x86_64-linux-thread-multi/Moose/Meta/Role/Application/ToClass.pm line 134
Moose::Meta::Role::Application::ToClass::check_required_methods('Moose::Meta::Role::Application::ToClass=HASH(0x35fd2d0)', 'Moose::Meta::Role=HASH(0x37c6d60)', 'Moose::Meta::Class=HASH(0x2f62e88)') called at /home/fred/myperl/lib/perl5/x86_64-linux-thread-multi/Moose/Meta/Role/Application.pm line 55
Moose::Meta::Role::Application::apply('Moose::Meta::Role::Application::ToClass=HASH(0x35fd2d0)', 'Moose::Meta::Role=HASH(0x37c6d60)', 'Moose::Meta::Class=HASH(0x2f62e88)') called at /home/fred/myperl/lib/perl5/x86_64-linux-thread-multi/Moose/Meta/Role/Application/ToClass.pm line 36
Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::Role::Application::ToClass=HASH(0x35fd2d0)', 'Moose::Meta::Role=HASH(0x37c6d60)', 'Moose::Meta::Class=HASH(0x2f62e88)', 'HASH(0x37c6ca0)') called at /home/fred/myperl/lib/perl5/x86_64-linux-thread-multi/Moose/Meta/Role.pm line 470
Moose::Meta::Role::apply('Moose::Meta::Role=HASH(0x37c6d60)', 'Moose::Meta::Class=HASH(0x2f62e88)') called at /home/fred/myperl/lib/perl5/x86_64-linux-thread-multi/Moose/Util.pm line 160
Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x2f62e88)', undef, 'Catalyst::ScriptRole') called at /home/fred/myperl/lib/perl5/x86_64-linux-thread-multi/Moose/Util.pm line 99
Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x2f62e88)', 'Catalyst::ScriptRole') called at /home/fred/myperl/lib/perl5/x86_64-linux-thread-multi/Moose.pm line 67
Moose::with('Moose::Meta::Class=HASH(0x2f62e88)', 'Catalyst::ScriptRole') called at /home/fred/myperl/lib/perl5/x86_64-linux-thread-multi/Moose/Exporter.pm line 370
Moose::with('Catalyst::ScriptRole') called at /usr/share/perl5/Catalyst/Script/Server.pm line 14
require Catalyst/Script/Server.pm called at /home/fred/myperl/lib/perl5/Module/Runtime.pm line 317
Module::Runtime::require_module('Catalyst::Script::Server') called at /home/fred/myperl/lib/perl5/Class/Load.pm line 177
Class::Load::ANON() called at /usr/share/perl5/Try/Tiny.pm line 71
eval {...} called at /usr/share/perl5/Try/Tiny.pm line 67
Try::Tiny::try('CODE(0x2289468)', 'Try::Tiny::Catch=REF(0x2281518)') called at /home/fred/myperl/lib/perl5/Class/Load.pm line 183
Class::Load::try_load_class('Catalyst::Script::Server', undef) called at /home/fred/myperl/lib/perl5/Class/Load.pm line 38
Class::Load::load_class('Catalyst::Script::Server') called at /usr/share/perl5/Catalyst/ScriptRunner.pm line 18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment