Bug#707229: libyaml-perl seems require Mo, which is not packaged for debian

Ruslan Kabalin r.kabalin at lancaster.ac.uk
Wed May 8 11:00:47 UTC 2013


Package: libyaml-perl
Version: 0.81-1
Severity: important

Dear Maintainer,

After upgrading to Wheezy I have got a problem with so-called "configbuild
tool" (which uses libyaml-perl) and reports the following errors:

DEBUG - Loading YAML data from defaults/params.yml
FATAL - Can't locate Mo/builder.pm in @INC (@INC contains: /etc/perl
/usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14
/usr/local/lib/site_perl . /usr/share/configbuild/lib) at (eval 305) line 2,
<$IN> line 1.
 at (eval 305) line 2
        YAML::Mo::BEGIN() called at (eval 305) line 2
        eval {...} called at (eval 305) line 2
        eval 'no Mo::builder
;' called at /usr/share/perl5/YAML/Mo.pm line 5
        YAML::Mo::__ANON__(undef, 'builder', 'default') called at
/usr/share/perl5/YAML/Loader.pm line 2
        YAML::Loader::BEGIN() called at (eval 305) line 2
        eval {...} called at (eval 305) line 2
        require YAML/Loader.pm called at (eval 304) line 2
        eval 'require YAML::Loader
;' called at /usr/share/perl5/YAML.pm line 82
        YAML::init_action_object('YAML=HASH(0x1d5d1e0)', 'loader') called at
/usr/share/perl5/YAML.pm line 21
        YAML::__ANON__('YAML=HASH(0x1d5d1e0)') called at
/usr/share/perl5/YAML/Mo.pm line 5
        YAML::Mo::__ANON__('YAML=HASH(0x1d5d1e0)') called at
/usr/share/perl5/YAML.pm line 34
        YAML::Load('---
#########################################################...') called at
/usr/share/perl5/YAML.pm line 75
        YAML::LoadFile('defaults/params.yml') called at /usr/bin/configbuild
line 500
        eval {...} called at /usr/bin/configbuild line 500
        ConfigUtils::ConfigBuild::load_yaml('HASH(0x1d42860)',
'defaults/params.yml') called at /usr/bin/configbuild line 716
        ConfigUtils::ConfigBuild::load_datasource('HASH(0x1d42860)',
'params.yml', 'defaults/config.rb3') called at /usr/bin/configbuild line 816
        ConfigUtils::ConfigBuild::__ANON__() called at
/usr/share/perl5/Error.pm line 416
        eval {...} called at /usr/share/perl5/Error.pm line 408
        Error::subs::try('CODE(0x1d5cdf0)', 'HASH(0x1d5d048)') called at
/usr/bin/configbuild line 823

FATAL - Can't locate Mo/default.pm in @INC (@INC contains: /etc/perl
/usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14
/usr/local/lib/site_perl . /usr/share/configbuild/lib) at (eval 306) line 2,
<$IN> line 1.
FATAL - Can't locate Mo/default.pm in @INC (@INC contains: /etc/perl
/usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14
/usr/local/lib/site_perl . /usr/share/configbuild/lib) at (eval 306) line 2,
<$IN> line 1.
BEGIN failed--compilation aborted at (eval 306) line 2, <$IN> line 1.
 at (eval 306) line 2
        eval 'no Mo::default
;' called at /usr/share/perl5/YAML/Mo.pm line 5
        YAML::Mo::__ANON__(undef, 'builder', 'default') called at
/usr/share/perl5/YAML/Loader.pm line 2
        YAML::Loader::BEGIN() called at (eval 306) line 2
        eval {...} called at (eval 306) line 2
        require YAML/Loader.pm called at (eval 304) line 2
        eval 'require YAML::Loader
;' called at /usr/share/perl5/YAML.pm line 82
        YAML::init_action_object('YAML=HASH(0x1d5d1e0)', 'loader') called at
/usr/share/perl5/YAML.pm line 21
        YAML::__ANON__('YAML=HASH(0x1d5d1e0)') called at
/usr/share/perl5/YAML/Mo.pm line 5
        YAML::Mo::__ANON__('YAML=HASH(0x1d5d1e0)') called at
/usr/share/perl5/YAML.pm line 34
        YAML::Load('---
#########################################################...') called at
/usr/share/perl5/YAML.pm line 75
        YAML::LoadFile('defaults/params.yml') called at /usr/bin/configbuild
line 500
        eval {...} called at /usr/bin/configbuild line 500
        ConfigUtils::ConfigBuild::load_yaml('HASH(0x1d42860)',
'defaults/params.yml') called at /usr/bin/configbuild line 716
        ConfigUtils::ConfigBuild::load_datasource('HASH(0x1d42860)',
'params.yml', 'defaults/config.rb3') called at /usr/bin/configbuild line 816
        ConfigUtils::ConfigBuild::__ANON__() called at
/usr/share/perl5/Error.pm line 416
        eval {...} called at /usr/share/perl5/Error.pm line 408

Configbuild tool does not require Mo (Micro Objects) anywhere in the code for
functioning and works perfectly on squeeze. The problem only appears on Wheezy.
Closer investigation revealed that libyaml-perl in stable (Wheezy), which it
uses, mentions Mo in /usr/share/perl5/YAML/Mo.pm. I do not have a deep knowlege
in perl and libyaml-perl library functioning, but it seems to me that there is
a missing dependency (assuming Mo is indeed required for libyaml-perl
functionality). What makes it more complicated, that Mo
(http://search.cpan.org/~carlos/Mo-0.33/) does not exists in Debian repo.

Any insight from you guys would be quite appreciated. It might be that the bug
is caused by some incorrect use of libyaml-perl, though I do not see any calls
different from YAML::Dump and YAML::LoadFile.

Thanks.



-- System Information:
Debian Release: 7.0
  APT prefers stable
  APT policy: (990, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libyaml-perl depends on:
ii  perl  5.14.2-21

Versions of packages libyaml-perl recommends:
ii  libyaml-syck-perl  1.20-1

Versions of packages libyaml-perl suggests:
pn  libyaml-shell-perl  <none>

-- no debconf information



More information about the pkg-perl-maintainers mailing list