Warren

All my perl libs installed with yum from different repositories. I try to install perl-Moo version 2 - but at the moment I get more errors :)

Maybe I must find a new way to deploy the app or at least the modules I need on CentOS 5.

I know cpanm and use it on my develop system. But my problem is, that I cannot use this in my production environment (no internet connection - rpm packages only). Also
I read something about App::FatPacker, but in my first try it does not work. Maybe this is my future.

Thank you for your reply.

Regards
    Jochen

Warren Young
3. August 2016 um 22:51

That may be true as far as it goes, but Moo 1 could not satisfy Dancer 2’s dependencies. It doesn’t matter if you installed via cpan, cpanm, or a source tarball, the installation should either have resulted in a side-by-side installation of Moo 2, or the installation should have failed.

I just upgraded to 0.201000 on CentOS 5 via cpanm, and the stock “dancer2 -a foo” app runs just fine.

Jochen, did you perhaps do a “force install” via cpan? If so, I find that installing via cpanm is much more pleasant and reliable, since it follows dependencies by default and suppresses all of the interactive queries cpan passes through from the underlying Perl build system. With cpanm, the installation either works or doesn’t, and if it doesn’t, there’s usually a good reason why.
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
Stefan Hornburg (Racke)
3. August 2016 um 10:45

Hello Jochen,

Dancer2 requires Moo 2, so the perl-Moo is most likely the culprit for this error.

Regards
Racke


Jochen Schnuerle
3. August 2016 um 10:41
Hi,

my app create the following message on my CentOS 5 installation:

[root@fsisrv5 ~]# Error while loading /opt/fsi/portal/bin/fsi.psgi: Can't locate object method "has_hook" via package "Dancer2::Session::YAML" at /opt/fsi/portal/bin/../lib/Dancer2/Core/App.pm line 543.
Compilation failed in require at /opt/fsi/portal/bin/../lib/fsi.pm line 193.
Compilation failed in require at /opt/fsi/portal/bin/fsi.psgi line 22.
BEGIN failed--compilation aborted at /opt/fsi/portal/bin/fsi.psgi line 22.

I find the sub in Hookable.pm in line 92. So I search for the load of this perl module and find in App.pm following:

with qw<
    Dancer2::Core::Role::Hookable
    Dancer2::Core::Role::ConfigReader
>;

I found a document for Perl-Moo (https://metacpan.org/pod/Moo#with) which said to me, that it define a role of a class.

At this point I stop, because I have not experience with Moo and the object, role and class developing.


If I run my app on a CentOS 6 or 7 installation, all work fine. So I think the source of the Dancer2 framework is ok.

On CentOS 5 I use perl-Moo version 1.004002 and on CentOS 6/7 a version 2.x. On all installation I use Dancer2 0.201000 or the latest commit from git.

Is there a way to find out which module on CentOS 5 create the error above? Is this a problem with the perl-Moo module? Or I am missing something else (pm)?

Regards
    Jochen








_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users