./t/100_Dpkg_Version.............Illegal character in prototype for Dpkg::Version::orde r : _ at /var/tmp/portage/app-arch/dpkg-1.15.5/work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 253, <DATA> line 43. ^M./t/100_Dpkg_Version.............1/1721 # Failed test 'use Dpkg::Version;' # at ./t/100_Dpkg_Version.t line 52. # Tried to use 'Dpkg::Version'. # Error: Not enough arguments for Dpkg::Version::order at /var/tmp/portage/app-arc h/dpkg-1.15.5/work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 265, near "order," # Not enough arguments for Dpkg::Version::order at /var/tmp/portage/app-arch/dpkg-1.15. 5/work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 266, near "order," # Compilation failed in require at (eval 4) line 2, <DATA> line 43. # BEGIN failed--compilation aborted at (eval 4) line 2, <DATA> line 43. Undefined subroutine &Dpkg::Version::version_check called at /var/tmp/portage/app-arch/ dpkg-1.15.5/work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 75, <DATA> line 43. # Looks like you planned 1721 tests but only ran 1. # Looks like you failed 1 test of 1 run. # Looks like your test died just after 1. ^M ^M./t/100_Dpkg_Version............. Dubious, test returned 255 (wstat 65280, 0xff00) Failed 1721/1721 subtests ./t/200_Dpkg_Shlibs..............^M./t/200_Dpkg_Shlibs..............1/63 Illegal charac ter in prototype for Dpkg::Version::order : _ at /var/tmp/portage/app-arch/dpkg-1.15.5/ work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 253. # Failed test 'use Dpkg::Shlibs::SymbolFile;' # at ./t/200_Dpkg_Shlibs.t line 112. # Tried to use 'Dpkg::Shlibs::SymbolFile'. # Error: Not enough arguments for Dpkg::Version::order at /var/tmp/portage/app-arc h/dpkg-1.15.5/work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 265, near "order," # Not enough arguments for Dpkg::Version::order at /var/tmp/portage/app-arch/dpkg-1.15. 5/work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 266, near "order," # Compilation failed in require at /var/tmp/portage/app-arch/dpkg-1.15.5/work/dpkg-1.15 .5/scripts/Dpkg/Shlibs/SymbolFile.pm line 23. # BEGIN failed--compilation aborted at /var/tmp/portage/app-arch/dpkg-1.15.5/work/dpkg- 1.15.5/scripts/Dpkg/Shlibs/SymbolFile.pm line 23. # Compilation failed in require at (eval 22) line 2. # BEGIN failed--compilation aborted at (eval 22) line 2. Can't locate object method "new" via package "Dpkg::Shlibs::SymbolFile" at ./t/200_Dpkg _Shlibs.t line 115. # Looks like you planned 63 tests but only ran 25. # Looks like you failed 1 test of 25 run. # Looks like your test died just after 25. ^M ^M./t/200_Dpkg_Shlibs.............. Dubious, test returned 255 (wstat 65280, 0xff00) Failed 39/63 subtests ./t/300_Dpkg_BuildOptions........^M./t/300_Dpkg_BuildOptions........1/6 ^M ^M./t/300_Dpkg_BuildOptions........ok ./t/400_Dpkg_Deps................Illegal character in prototype for Dpkg::Version::orde r : _ at /var/tmp/portage/app-arch/dpkg-1.15.5/work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 253. ^M./t/400_Dpkg_Deps................1/16 # Failed test 'use Dpkg::Deps;' # at ./t/400_Dpkg_Deps.t line 21. # Tried to use 'Dpkg::Deps'. # Error: Not enough arguments for Dpkg::Version::order at /var/tmp/portage/app-arc h/dpkg-1.15.5/work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 265, near "order," # Not enough arguments for Dpkg::Version::order at /var/tmp/portage/app-arch/dpkg-1.15. 5/work/dpkg-1.15.5/scripts/Dpkg/Version.pm line 266, near "order," # Compilation failed in require at /var/tmp/portage/app-arch/dpkg-1.15.5/work/dpkg-1.15 .5/scripts/Dpkg/Deps.pm line 45. # BEGIN failed--compilation aborted at /var/tmp/portage/app-arch/dpkg-1.15.5/work/dpkg- 1.15.5/scripts/Dpkg/Deps.pm line 45. # Compilation failed in require at (eval 2) line 2. # BEGIN failed--compilation aborted at (eval 2) line 2. Undefined subroutine &Dpkg::Deps::parse called at ./t/400_Dpkg_Deps.t line 29. # Looks like you planned 16 tests but only ran 1. # Looks like you failed 1 test of 1 run. # Looks like your test died just after 1. ^M ^M./t/400_Dpkg_Deps................ Dubious, test returned 255 (wstat 65280, 0xff00) And so on. It seems like the test suite hasn't been updated yet after the perl changes in this version (see [URL]).
dpkg (1.15.5.1) unstable; urgency=low . * Fix build failures due to off_t type missmatch caused by not including <config.h> first on the unit tests. Suggested by Pierre Habouzit and Julien Cristau, thanks! http://packages.qa.debian.org/d/dpkg/news/20091117T161805Z.html I'll dump to 1.15.5.1 in a couple minutes.
Nice.
Don't forget to use the 1.2 version of the 1.15.5 ebuild - it has some changes in src_install().
Actually it appears the new version soleves a different test problem, trying to see how to fix this one too :-S
I changed 1.15.5 to 1.15.5.1 for now, but thus does not solve this bug. As far as I can see, the problem is that they changed the dpkg version comparson perl implementation to be object oriented, but there are some problems with function exports that prevent the API to be usable, so the tests fail. Will contact upstream about this.
Got the following response from kibi: From my reading the perlsub manpage, the underscore in prototypes wasn't supported in perl 5.8, while it is in perl 5.10. Its purpose[1]: | As the last character of a prototype, or just before a semicolon, | you can use _ in place of $ : if this argument is not provided, $_ | will be used instead. 1. http://perldoc.perl.org/perlsub.html#Prototypes And I verified it to work with perl-5.10.1 from portage, blocking on bug #280724. @jer: What do you suggest we do? The dpkg binary works perfectly, the problem is only with dpkg perl library that is not so widely used. Should we just keep this ~arch keyworded until perl-5.10.1 is stable in the tree or do you think it'll be better if we package.mask it?
I suspected a new perl 5.10 feature might be the cause... Waiting for the new perl shouldn't be a problem, as there don't seem to be any serious bugs in the stable version that we're concerned with. Let's ask when, then. Perl, when does 5.10 go stable?
From the 1.15.5.2 changes: * Keep compatibility with perl 5.8 by avoiding the _ prototype.
Sorry to disturb you, perl@.
1.15.5.2 is in the tree and fixes the issue without the need for perl 5.10.