Bug#681026: perl-modules: Installation of modules via CPAN fails due to broken dependency logic
Vincent Lefevre
vincent at vinc17.net
Tue Jul 10 01:44:17 UTC 2012
Package: perl-modules
Version: 5.14.2-12
Severity: normal
When I try to install Sys::Info::Driver::Linux under my home directory
via CPAN while nothing is installed yet there, I get a failure saying
that some dependency is not OK, even though the module in question has
just been installed with success. A second try succeeds, though.
To reproduce the problem, remove the ~/perl5 directory if there is one,
and run the following script:
------------------------------------------------------------
#!/bin/sh
if [ -d $HOME/perl5 ]; then
echo "Remove the perl5 directory for the test" >&2
exit 1
fi
build()
{
cpan -i Sys::Info::Driver::Linux 2>&1
echo "Exit status: $?"
}
build > cpan1
build > cpan2
------------------------------------------------------------
The first build fails, complaining that
Tests succeeded but one dependency not OK (Unix::Processors)
even though Unix::Processors has been installed with success (as seen
in the cpan1 file). The error messages come from:
/usr/share/perl/5.14.2/CPAN/Distribution.pm
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.4-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages perl-modules depends on:
ii libclass-isa-perl 0.36-3
ii libswitch-perl 2.16-2
ii perl 5.14.2-12
perl-modules recommends no packages.
Versions of packages perl-modules suggests:
ii libpod-plainer-perl 1.03-1
-- no debconf information
-------------- next part --------------
Going to read '/home/vinc17/.cpan/Metadata'
Database was generated on Sun, 08 Jul 2012 23:58:03 GMT
Running install for module 'Sys::Info::Driver::Linux'
Running make for B/BU/BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
Checksum for /home/vinc17/.cpan/sources/authors/id/B/BU/BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz ok
CPAN.pm: Going to build B/BU/BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
Checking prerequisites...
requires:
! Sys::Info::Base is not installed
! Unix::Processors is not installed
build_requires:
! Test::Sys::Info is not installed
ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions
of the modules indicated above before proceeding with this installation
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Sys-Info-Driver-Linux' version '0.7900'
---- Unsatisfied dependencies detected during ----
---- BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz ----
Test::Sys::Info [build_requires]
Unix::Processors [requires]
Sys::Info::Base [requires]
Running Build test
Delayed until after prerequisites
Running Build install
Delayed until after prerequisites
Running install for module 'Test::Sys::Info'
Running make for B/BU/BURAK/Test-Sys-Info-0.20.tar.gz
Checksum for /home/vinc17/.cpan/sources/authors/id/B/BU/BURAK/Test-Sys-Info-0.20.tar.gz ok
CPAN.pm: Going to build B/BU/BURAK/Test-Sys-Info-0.20.tar.gz
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Test-Sys-Info' version '0.20'
Building Test-Sys-Info
BURAK/Test-Sys-Info-0.20.tar.gz
./Build -- OK
'YAML' not installed, will not store persistent state
Running Build test
t/03-basic.t .......... ok
t/201-pod.t ........... skipped: Errors detected: Test::Pod is required for testing POD
t/202-pod-coverage.t .. skipped: Test::Pod::Coverage required for testing pod coverage
All tests successful.
Files=3, Tests=1, 0 wallclock secs ( 0.02 usr 0.02 sys + 0.08 cusr 0.01 csys = 0.13 CPU)
Result: PASS
BURAK/Test-Sys-Info-0.20.tar.gz
./Build test -- OK
Running Build install
Building Test-Sys-Info
Installing /home/vinc17/perl5/lib/perl5/Test/Sys/Info.pm
Installing /home/vinc17/perl5/lib/perl5/Test/Sys/Info/Driver.pm
Installing /home/vinc17/perl5/man/man3/Test::Sys::Info::Driver.3pm
Installing /home/vinc17/perl5/man/man3/Test::Sys::Info.3pm
BURAK/Test-Sys-Info-0.20.tar.gz
./Build install -- OK
Running install for module 'Unix::Processors'
Running make for W/WS/WSNYDER/Unix-Processors-2.042.tar.gz
Checksum for /home/vinc17/.cpan/sources/authors/id/W/WS/WSNYDER/Unix-Processors-2.042.tar.gz ok
CPAN.pm: Going to build W/WS/WSNYDER/Unix-Processors-2.042.tar.gz
Checking if your kit is complete...
Looks good
Writing Makefile for Unix::Processors
Writing MYMETA.yml
/usr/bin/perl /usr/share/perl/5.14/ExtUtils/xsubpp -typemap /usr/share/perl/5.14/ExtUtils/typemap -typemap typemap Processors.xs > Processors.xsc && mv Processors.xsc Processors.c
cp Processors.pm blib/lib/Unix/Processors.pm
cp Processors/Info.pm blib/lib/Unix/Processors/Info.pm
Running Mkbootstrap for Unix::Processors ()
chmod 644 Processors.bs
cp Processors.bs blib/arch/auto/Unix/Processors/Processors.bs
chmod 644 blib/arch/auto/Unix/Processors/Processors.bs
cc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"2.042\" -DXS_VERSION=\"2.042\" -fPIC "-I/usr/lib/perl/5.14/CORE" Processors.c
rm -f blib/arch/auto/Unix/Processors/Processors.so
cc -shared -L/usr/local/lib -fstack-protector Processors.o -o blib/arch/auto/Unix/Processors/Processors.so \
\
chmod 755 blib/arch/auto/Unix/Processors/Processors.so
Manifying blib/man3/Unix::Processors.3pm
Manifying blib/man3/Unix::Processors::Info.3pm
WSNYDER/Unix-Processors-2.042.tar.gz
/usr/bin/make -j2 -j2 -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00_pod.t ....... ok
t/01_manifest.t .. ok
t/20_test.t ...... ok
All tests successful.
Files=3, Tests=11, 1 wallclock secs ( 0.03 usr 0.00 sys + 0.06 cusr 0.00 csys = 0.09 CPU)
Result: PASS
WSNYDER/Unix-Processors-2.042.tar.gz
/usr/bin/make test -- OK
Running make install
Manifying blib/man3/Unix::Processors.3pm
Manifying blib/man3/Unix::Processors::Info.3pm
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /home/vinc17/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Unix/Processors/Processors.bs
Installing /home/vinc17/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Unix/Processors/Processors.so
Installing /home/vinc17/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Unix/Processors.pm
Installing /home/vinc17/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Unix/Processors/Info.pm
Installing /home/vinc17/perl5/man/man3/Unix::Processors.3pm
Installing /home/vinc17/perl5/man/man3/Unix::Processors::Info.3pm
Appending installation info to /home/vinc17/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod
WSNYDER/Unix-Processors-2.042.tar.gz
/usr/bin/make install -- OK
Running install for module 'Sys::Info::Base'
Running make for B/BU/BURAK/Sys-Info-Base-0.7802.tar.gz
Checksum for /home/vinc17/.cpan/sources/authors/id/B/BU/BURAK/Sys-Info-Base-0.7802.tar.gz ok
CPAN.pm: Going to build B/BU/BURAK/Sys-Info-Base-0.7802.tar.gz
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Sys-Info-Base' version '0.7802'
Building Sys-Info-Base
BURAK/Sys-Info-Base-0.7802.tar.gz
./Build -- OK
Running Build test
t/03-basic.t .......... ok
t/201-pod.t ........... skipped: Errors detected: Test::Pod is required for testing POD
t/202-pod-coverage.t .. skipped: Test::Pod::Coverage required for testing pod coverage
All tests successful.
Files=3, Tests=8, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.09 cusr 0.02 csys = 0.15 CPU)
Result: PASS
BURAK/Sys-Info-Base-0.7802.tar.gz
./Build test -- OK
Running Build install
Building Sys-Info-Base
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Base.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Driver.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Constants.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Device.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/OS.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Device/CPU.pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Device::CPU.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Constants.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Driver.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Device.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::OS.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Base.3pm
BURAK/Sys-Info-Base-0.7802.tar.gz
./Build install -- OK
Running Build for B/BU/BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
Has already been unwrapped into directory /home/vinc17/.cpan/build/Sys-Info-Driver-Linux-0.7900-xETUnx
CPAN.pm: Going to build B/BU/BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
Warning: Prerequisite 'Unix::Processors => 0' for 'BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz' already built but the result looks suspicious. Skipping another build attempt, to prevent looping endlessly.
Building Sys-Info-Driver-Linux
BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
./Build -- OK
Running Build test
UNAME: Linux xvii 3.4-trunk-amd64 #1 SMP Tue Jun 26 17:23:03 UTC 2012 x86_64 GNU/Linux
t/03-basic.t .......... ok
t/201-pod.t ........... skipped: Errors detected: Test::Pod is required for testing POD
t/202-pod-coverage.t .. skipped: Test::Pod::Coverage required for testing pod coverage
All tests successful.
Files=3, Tests=66, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.13 cusr 0.03 csys = 0.18 CPU)
Result: PASS
BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
Tests succeeded but one dependency not OK (Unix::Processors)
BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
[dependencies] -- NA
Running Build install
make test had returned bad status, won't install without force
Exit status: 1
-------------- next part --------------
Going to read '/home/vinc17/.cpan/Metadata'
Database was generated on Sun, 08 Jul 2012 23:58:03 GMT
Running install for module 'Sys::Info::Driver::Linux'
Running make for B/BU/BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
Checksum for /home/vinc17/.cpan/sources/authors/id/B/BU/BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz ok
CPAN.pm: Going to build B/BU/BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Sys-Info-Driver-Linux' version '0.7900'
Building Sys-Info-Driver-Linux
BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
./Build -- OK
'YAML' not installed, will not store persistent state
Running Build test
UNAME: Linux xvii 3.4-trunk-amd64 #1 SMP Tue Jun 26 17:23:03 UTC 2012 x86_64 GNU/Linux
t/03-basic.t .......... ok
t/201-pod.t ........... skipped: Errors detected: Test::Pod is required for testing POD
t/202-pod-coverage.t .. skipped: Test::Pod::Coverage required for testing pod coverage
All tests successful.
Files=3, Tests=66, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.15 cusr 0.02 csys = 0.20 CPU)
Result: PASS
BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
./Build test -- OK
Running Build install
Building Sys-Info-Driver-Linux
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Driver/Linux.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Driver/Linux/Constants.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Driver/Linux/Device.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Driver/Linux/OS.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Driver/Linux/Device/CPU.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Driver/Linux/OS/Distribution.pm
Installing /home/vinc17/perl5/lib/perl5/Sys/Info/Driver/Linux/OS/Distribution/Conf.pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Driver::Linux::OS::Distribution::Conf.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Driver::Linux.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Driver::Linux::Device::CPU.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Driver::Linux::Constants.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Driver::Linux::OS::Distribution.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Driver::Linux::OS.3pm
Installing /home/vinc17/perl5/man/man3/Sys::Info::Driver::Linux::Device.3pm
BURAK/Sys-Info-Driver-Linux-0.7900.tar.gz
./Build install -- OK
Exit status: 0
More information about the Perl-maintainers
mailing list