[Catalyst] Installing Catalyst::Authentication::Store::DBIx::Class Breaks Catalyst

John Romkey romkey at apocalypse.org
Wed Apr 8 04:46:21 GMT 2009


On Apr 8, 2009, at 12:18 AM, Collin Condray wrote:
> I have been working on Catalyst project for some time and need a  
> little help with a problem I've run into. I was following the  
> instructions in the Authentication section of the Catalyst tutorial  
> and trying to implement the hashed password feature. However, when I  
> uncommented the "class DBIx::Class" line in my myapp.conf file, I  
> got the following message in my logs:
>
> Can't locate Catalyst/Plugin/Authentication/Store/DBIx/Class.pm in  
> @INC
>
> So I attempted to use CPAN to install  
> Catalyst::Authentication::Store::DBIx::Class.
>
> This completely rendered my site totally unusable. Now I am  
> receiving the error:
> Inconsistent hierarchy during C3 merge of class 'myAPP': merging  
> failed on parent 'Class::Accessor::Fast' at /home/username/local/lib/ 
> perl/5.8.4/Class/C3/XS.pm line 56., referer: https://www.mysite.com/
>
> I have been unable to find anything that I've been able to  
> understand on the cause of this problem. Has anyone else come across  
> this error message and if so, has anyone found a solution to it.
>
> I'm getting close to launching a site that depends on Catalyst and  
> my need is urgent. If I can provide any more information on my  
> problem I'd be happy to supply it.

Catalyst's authentication system changed substantially a while back  
(last summer, I think). As of that change, the only Catalyst::Plugin  
module you should be using for authentication is  
Catalyst::Plugin::Authentication. It will use other modules which live  
in the Catalyst::Authentication namespace rather than the  
Catalyst::Plugin::Authentication namespace, where older modules used  
to live. In theory the older ones should generally still work thanks  
to backwards-compatibility shims, but you might see problems with them  
over time.

What version of Catalyst::Plugin::Authentication are you using? The  
current one is 0.10011

I would make sure that you have the latest versions of Catalyst- 
Runtime, Catalyst::Plugin::Authentication, DBIx::Class, Class::C3 and  
Class::C3::XS installed. Class::C3 is what Catalyst and DBIx::Class  
use in order to handle object inheritance.

Could you share with us the code from your app's startup file which  
loads the Catalyst plugins, and also the relevant lines from your  
config file? Otherwise we don't have much to go on.
	- john romkey
	http://www.romkey.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090408/246c828d/attachment.htm


More information about the Catalyst mailing list