Bug 2185

Summary: Possible bad package in build system or build system bug?
Product: Infrastructure Reporter: Richard <hobbes1069>
Component: Build SystemAssignee: Xavier Lamien <lxtnow>
Status: RESOLVED FIXED    
Severity: normal CC: ktdreyer, matthias
Priority: P5    
Version: NA   
Hardware: All   
OS: GNU/Linux   
namespace:

Description Richard 2012-02-19 21:06:53 CET
I have been unable to build the latest release of MythTV for F15 (either i686 or x86_64). 

The problem seems to be with either perl or the perl-DateTime-Format-ISO8602 package.

I have verified the package does get installed[1] but ./configure is not able to detect it and it disables the mythweather plugin which causes the build to fail.

The configure script uses a simple test to determine what perl modules are available, i.e.:
perl -e "use $module;"

I and one other have confirmed that it builds fine in a local F15 mock environment so it must be something unique about the build system.

The line in the build log[2]:
WARNING: disabling MythWeather; missing DateTime::Format::ISO8601


[1] http://buildsys.rpmfusion.org/logs/fedora-15-rpmfusion_free/11881-mythtv-0.24.2-1.fc15/i686/root.log
[2] http://buildsys.rpmfusion.org/logs/fedora-15-rpmfusion_free/11881-mythtv-0.24.2-1.fc15/i686/build.log
Comment 1 Nicolas Chauvet 2012-02-19 21:15:09 CET
// copied back from ml to bz
Can you verify if there is a difference in the package version from
the buildsys root.log  and yours.

It can also be a host kernel/glibc error , we expect to use a RHEL6
host, so it might explain a different case.
Comment 2 Richard 2012-02-22 16:16:35 CET
I created a minimal CentOS 6 virtual machine and was able to build the F-15 MythTV package in mock without error.

Where do we go from here?
Comment 3 Richard 2012-03-02 21:11:48 CET
F15 mythtv build is still broken....
Comment 4 Ken Dreyer 2012-04-10 16:52:50 CEST
The package is called perl-DateTime-Format-ISO8601 in pkgdb. Could that be the issue?
Comment 5 Ken Dreyer 2012-04-10 16:53:59 CEST
(In reply to comment #4)
> The package is called perl-DateTime-Format-ISO8601 in pkgdb. Could that be the
> issue?

Oh, on the mailing list today you had written perl-Format-DateTime-ISO8601, but you have it correct here.
Comment 6 Richard 2012-04-10 22:16:46 CEST
Alec had the good idea to add a perl module import line in the spec file to see what the error was and now we have it[1]:

+ perl -e 'use DateTime::Format::ISO8601;'
The 'regex' parameter ("(?x-ism:^ (\d{4}) (\d\d) (\d\d) $)") to DateTime::Format::Builder::Parser::create_single_parser was an 'unknown', which is not one of the allowed types: scalarref
 at /usr/lib/perl5/vendor_perl/Params/ValidatePP.pm line 650
	Params::Validate::__ANON__('The \'regex\' parameter ("(?x-ism:^ (\d{4}) (\d\d) (\d\d) $)"...') called at /usr/lib/perl5/vendor_perl/Params/ValidatePP.pm line 494
	Params::Validate::_validate_one_param('Regexp=REGEXP(0xa3de900)', 'HASH(0xa3ec050)', 'HASH(0xa3aab08)', 'The \'regex\' parameter ("(?x-ism:^ (\d{4}) (\d\d) (\d\d) $)")') called at /usr/lib/perl5/vendor_perl/Params/ValidatePP.pm line 353
	Params::Validate::validate('ARRAY(0xa386368)', 'HASH(0xa385c98)') called at /usr/share/perl5/vendor_perl/DateTime/Format/Builder/Parser.pm line 311
	DateTime::Format::Builder::Parser::create_single_parser(undef, 'params', 'ARRAY(0xa3de890)', 'length', 8, 'regex', 'Regexp=REGEXP(0xa3de900)') called at /usr/share/perl5/vendor_perl/DateTime/Format/Builder/Parser.pm line 501
	DateTime::Format::Builder::Parser::sort_parsers('DateTime::Format::Builder::Parser', 'HASH(0xa38d760)', 'ARRAY(0xa38cd20)') called at /usr/share/perl5/vendor_perl/DateTime/Format/Builder/Parser.pm line 397
	DateTime::Format::Builder::Parser::create_multiple_parsers('DateTime::Format::Builder::Parser', 'HASH(0xa38d760)', 'HASH(0xa3de8e0)', 'HASH(0xa3de9c0)', 'HASH(0xa3dea70)', 'HASH(0xa3deb10)', 'HASH(0xa3debc0)', 'HASH(0xa3dece0)', 'HASH(0xa3dedf0)', ...) called at /usr/share/perl5/vendor_perl/DateTime/Format/Builder/Parser.pm line 600
	DateTime::Format::Builder::Parser::create_parser('DateTime::Format::Builder::Parser', 'ARRAY(0xa2ac098)', 'HASH(0xa3de8e0)', 'HASH(0xa3de9c0)', 'HASH(0xa3dea70)', 'HASH(0xa3deb10)', 'HASH(0xa3debc0)', 'HASH(0xa3dece0)', 'HASH(0xa3dedf0)', ...) called at /usr/share/perl5/vendor_perl/DateTime/Format/Builder.pm line 156
	DateTime::Format::Builder::create_parser('DateTime::Format::Builder', 'ARRAY(0xa3e9f28)') called at /usr/share/perl5/vendor_perl/DateTime/Format/Builder.pm line 174
	DateTime::Format::Builder::create_end_parser('DateTime::Format::Builder', 'ARRAY(0xa3e9f28)') called at /usr/share/perl5/vendor_perl/DateTime/Format/Builder.pm line 104
	DateTime::Format::Builder::create_class(undef, 'parsers', 'HASH(0xa3eb750)') called at /usr/share/perl5/vendor_perl/DateTime/Format/ISO8601.pm line 175
	require DateTime/Format/ISO8601.pm called at -e line 1
	main::BEGIN() called at /usr/share/perl5/vendor_perl/DateTime/Format/ISO8601.pm line 0
	eval {...} called at /usr/share/perl5/vendor_perl/DateTime/Format/ISO8601.pm line 0
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

[1] http://buildsys.rpmfusion.org/logs/fedora-15-rpmfusion_free/12706-mythtv-0.24.2-2.fc15/i686/build.log
Comment 7 Ken Dreyer 2012-04-11 01:03:38 CEST
Looks like a bug in Params::Validate. I get the same error when I use perl-Params-Validate-1.01-1.fc15 from updates-testing on my local F15 box.

This has not yet been pushed to stable, so that's probably why you don't see it when mocking on EL6.

https://admin.fedoraproject.org/updates/FEDORA-2012-1417/perl-Params-Validate-1.01-1.fc15
Comment 8 Ken Dreyer 2012-04-11 01:12:57 CEST
See Bug 2270 for fixing mock-rpmfusion-* to more closely align with the RPM Fusion builders.
Comment 9 Richard 2012-04-13 15:47:57 CEST
Problem was caused by the bad perl module in Fedora update-testing repo. Closing.