DevHeads.net

CPAN not working, or is it?

(I've just tried this on a second C7 box, literally clean install, only did it
on Friday, with the same results)

I'm replacing a dead F19 box with a new C7 one and I'm trying to get my Perl
install completed. Ultimately, I need to get Selenium::Remote::Driver
working, but I'm struggling before that.

I started off as always by using RPM's for everything I possibly can. I then
started to use CPAN for everything else. It looked like CPAN was working and
things were installing "OK".

However, as I went for bigger modules, anything that had dependences were
then failing as the dependencie were installed OK but then did not appear to
be available.

The last thing I've just tried is to update CPAN as the RPM is 1.9800 and the
latest is 2.6. As you can see below, the install worked, but when it
reloaded, or when I came out and went back in, it still showed 1.9800

Anyone got any ideas what I need to do?

cpan[2]> install CPAN
Running install for module 'CPAN'
Running make for A/AN/ANDK/CPAN-2.25.tar.gz
Fetching with LWP:
<a href="http://mirror.bytemark.co.uk/CPAN/authors/id/A/AN/ANDK/CPAN-2.25.tar.gz" title="http://mirror.bytemark.co.uk/CPAN/authors/id/A/AN/ANDK/CPAN-2.25.tar.gz">http://mirror.bytemark.co.uk/CPAN/authors/id/A/AN/ANDK/CPAN-2.25.tar.gz</a>
Fetching with LWP:
<a href="http://mirror.bytemark.co.uk/CPAN/authors/id/A/AN/ANDK/CHECKSUMS" title="http://mirror.bytemark.co.uk/CPAN/authors/id/A/AN/ANDK/CHECKSUMS">http://mirror.bytemark.co.uk/CPAN/authors/id/A/AN/ANDK/CHECKSUMS</a>
Checksum for /root/.cpan/sources/authors/id/A/AN/ANDK/CPAN-2.25.tar.gz ok

CPAN.pm: Building A/AN/ANDK/CPAN-2.25.tar.gz

Importing PAUSE public key into your GnuPG keychain... done!
(You may wish to trust it locally with 'gpg --lsign-key 450F89EC')
Checking if your kit is complete...
Looks good
Writing Makefile for CPAN
Writing MYMETA.yml and MYMETA.json
cp lib/CPAN.pm blib/lib/CPAN.pm
cp lib/CPAN/CacheMgr.pm blib/lib/CPAN/CacheMgr.pm
cp lib/CPAN/FTP/netrc.pm blib/lib/CPAN/FTP/netrc.pm
cp lib/CPAN/LWP/UserAgent.pm blib/lib/CPAN/LWP/UserAgent.pm
cp lib/CPAN/FTP.pm blib/lib/CPAN/FTP.pm
cp lib/CPAN/Queue.pm blib/lib/CPAN/Queue.pm
cp lib/CPAN/Distroprefs.pm blib/lib/CPAN/Distroprefs.pm
cp lib/CPAN/Kwalify/distroprefs.yml blib/lib/CPAN/Kwalify/distroprefs.yml
cp lib/App/Cpan.pm blib/lib/App/Cpan.pm
cp lib/CPAN/Kwalify.pm blib/lib/CPAN/Kwalify.pm
cp lib/CPAN/Module.pm blib/lib/CPAN/Module.pm
cp lib/CPAN/Author.pm blib/lib/CPAN/Author.pm
cp lib/CPAN/Debug.pm blib/lib/CPAN/Debug.pm
cp lib/CPAN/HTTP/Credentials.pm blib/lib/CPAN/HTTP/Credentials.pm
cp lib/CPAN/API/HOWTO.pod blib/lib/CPAN/API/HOWTO.pod
cp lib/CPAN/Complete.pm blib/lib/CPAN/Complete.pm
cp lib/CPAN/HTTP/Client.pm blib/lib/CPAN/HTTP/Client.pm
cp lib/CPAN/FirstTime.pm blib/lib/CPAN/FirstTime.pm
cp lib/CPAN/Exception/blocked_urllist.pm
blib/lib/CPAN/Exception/blocked_urllist.pm
cp lib/CPAN/Distrostatus.pm blib/lib/CPAN/Distrostatus.pm
cp lib/CPAN/Admin.pm blib/lib/CPAN/Admin.pm
cp lib/CPAN/Tarzip.pm blib/lib/CPAN/Tarzip.pm
cp lib/CPAN/Prompt.pm blib/lib/CPAN/Prompt.pm
cp lib/CPAN/URL.pm blib/lib/CPAN/URL.pm
cp lib/CPAN/Version.pm blib/lib/CPAN/Version.pm
cp lib/CPAN/DeferredCode.pm blib/lib/CPAN/DeferredCode.pm
cp lib/CPAN/Distribution.pm blib/lib/CPAN/Distribution.pm
cp lib/CPAN/Nox.pm blib/lib/CPAN/Nox.pm
cp lib/CPAN/Exception/RecursiveDependency.pm
blib/lib/CPAN/Exception/RecursiveDependency.pm
cp lib/CPAN/Bundle.pm blib/lib/CPAN/Bundle.pm
cp lib/CPAN/Plugin/Specfile.pm blib/lib/CPAN/Plugin/Specfile.pm
cp lib/CPAN/Shell.pm blib/lib/CPAN/Shell.pm
cp lib/CPAN/InfoObj.pm blib/lib/CPAN/InfoObj.pm
cp lib/CPAN/HandleConfig.pm blib/lib/CPAN/HandleConfig.pm
cp lib/CPAN/Exception/yaml_process_error.pm
blib/lib/CPAN/Exception/yaml_process_error.pm
cp lib/CPAN/Plugin.pm blib/lib/CPAN/Plugin.pm
cp lib/CPAN/Exception/yaml_not_installed.pm
blib/lib/CPAN/Exception/yaml_not_installed.pm
cp lib/CPAN/Index.pm blib/lib/CPAN/Index.pm
cp lib/CPAN/Kwalify/distroprefs.dd blib/lib/CPAN/Kwalify/distroprefs.dd
cp lib/CPAN/Mirrors.pm blib/lib/CPAN/Mirrors.pm
cp scripts/cpan-mirrors blib/script/cpan-mirrors
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/cpan-mirrors
cp scripts/cpan blib/script/cpan
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/cpan
Manifying blib/man1/cpan-mirrors.1
Manifying blib/man1/cpan.1
Manifying blib/man3/CPAN.3pm
Manifying blib/man3/CPAN::Admin.3pm
Manifying blib/man3/CPAN::Tarzip.3pm
Manifying blib/man3/CPAN::Queue.3pm
Manifying blib/man3/CPAN::Distroprefs.3pm
Manifying blib/man3/CPAN::Version.3pm
Manifying blib/man3/App::Cpan.3pm
Manifying blib/man3/CPAN::Kwalify.3pm
Manifying blib/man3/CPAN::Nox.3pm
Manifying blib/man3/CPAN::Plugin::Specfile.3pm
Manifying blib/man3/CPAN::Debug.3pm
Manifying blib/man3/CPAN::HandleConfig.3pm
Manifying blib/man3/CPAN::Plugin.3pm
Manifying blib/man3/CPAN::API::HOWTO.3pm
Manifying blib/man3/CPAN::Mirrors.3pm
Manifying blib/man3/CPAN::FirstTime.3pm
ANDK/CPAN-2.25.tar.gz
/usr/bin/make -- 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/00signature.t ............... skipped: No Module::Signature found [INC
= /root/.cpan/build/CPAN-2.25-YZAzWH/blib/lib /root/.cpan/build/CPAN-2.25-YZAzWH/blib/arch /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .]
t/01loadme.t .................. ok
t/02nox.t ..................... ok
t/03pkgs.t .................... ok
t/04clean_load.t .............. ok
t/10version.t ................. ok
t/11mirroredby.t .............. ok
t/12cpan.t .................... ok
t/13tarzip.t .................. ok
t/14forkbomb.t ................ skipped: test only run when called with --doit
t/30shell.t ................... skipped: no Expect, maybe try env
CPAN_RUN_SHELL_TEST_WITHOUT_EXPECT=1
t/31sessions.t ................ skipped: Module::Build not installed
t/41distribution.t ............ 1/20 No or no sufficiently recent
CPAN::Perl::Releases installed at t/41distribution.t line 60.
t/41distribution.t ............ ok
t/42distroprefs.t ............. ok
t/43distroprefspref.t ......... ok
t/44cpanmeta.t ................ ok
t/50pod.t ..................... skipped: Test::Pod 1.00 required for testing
POD
t/51pod.t ..................... ok
t/52podcover.t ................ skipped: Test::Pod::Coverage 0.18 required for
testing pod coverage
t/60credentials.t ............. ok
t/70_critic.t ................. skipped: Test::Perl::Critic only run when
AUTHOR_TEST set
t/71_minimumversion.t ......... skipped: running MinimumVersion test only run
when AUTHOR_TEST set
t/97-compile.t ................ ok
t/97-cpanpm_output_hook.t ..... ok
t/97-expand_filenames.t ....... ok
t/97-install_hack.t ........... ok
t/97-mock.t ................... ok
t/97-process_options.t ........ ok
t/97-process_setup_options.t .. ok
t/97-return_values.t .......... ok
t/97-run.t .................... # will run '/usr/bin/perl -Mblib
blib/script/cpan -y 2>&1'
t/97-run.t .................... 1/32 # will run '/usr/bin/perl -Mblib
blib/script/cpan -h 2>&1'
t/97-run.t .................... ok
All tests successful.
Files=31, Tests=494, 9 wallclock secs ( 0.10 usr 0.03 sys + 7.47 cusr 1.02
csys = 8.62 CPU)
Result: PASS
ANDK/CPAN-2.25.tar.gz
/usr/bin/make test -- OK
Running make install
Manifying blib/man1/cpan-mirrors.1
Manifying blib/man1/cpan.1
Installing /root/perl5/lib/perl5/CPAN.pm
Installing /root/perl5/lib/perl5/CPAN/CacheMgr.pm
Installing /root/perl5/lib/perl5/CPAN/FTP.pm
Installing /root/perl5/lib/perl5/CPAN/Queue.pm
Installing /root/perl5/lib/perl5/CPAN/Distroprefs.pm
Installing /root/perl5/lib/perl5/CPAN/Kwalify.pm
Installing /root/perl5/lib/perl5/CPAN/Module.pm
Installing /root/perl5/lib/perl5/CPAN/Author.pm
Installing /root/perl5/lib/perl5/CPAN/Debug.pm
Installing /root/perl5/lib/perl5/CPAN/Complete.pm
Installing /root/perl5/lib/perl5/CPAN/FirstTime.pm
Installing /root/perl5/lib/perl5/CPAN/Distrostatus.pm
Installing /root/perl5/lib/perl5/CPAN/Admin.pm
Installing /root/perl5/lib/perl5/CPAN/Tarzip.pm
Installing /root/perl5/lib/perl5/CPAN/Prompt.pm
Installing /root/perl5/lib/perl5/CPAN/URL.pm
Installing /root/perl5/lib/perl5/CPAN/Version.pm
Installing /root/perl5/lib/perl5/CPAN/DeferredCode.pm
Installing /root/perl5/lib/perl5/CPAN/Distribution.pm
Installing /root/perl5/lib/perl5/CPAN/Nox.pm
Installing /root/perl5/lib/perl5/CPAN/Bundle.pm
Installing /root/perl5/lib/perl5/CPAN/Shell.pm
Installing /root/perl5/lib/perl5/CPAN/InfoObj.pm
Installing /root/perl5/lib/perl5/CPAN/HandleConfig.pm
Installing /root/perl5/lib/perl5/CPAN/Plugin.pm
Installing /root/perl5/lib/perl5/CPAN/Index.pm
Installing /root/perl5/lib/perl5/CPAN/Mirrors.pm
Installing /root/perl5/lib/perl5/CPAN/FTP/netrc.pm
Installing /root/perl5/lib/perl5/CPAN/LWP/UserAgent.pm
Installing /root/perl5/lib/perl5/CPAN/Kwalify/distroprefs.yml
Installing /root/perl5/lib/perl5/CPAN/Kwalify/distroprefs.dd
Installing /root/perl5/lib/perl5/CPAN/HTTP/Credentials.pm
Installing /root/perl5/lib/perl5/CPAN/HTTP/Client.pm
Installing /root/perl5/lib/perl5/CPAN/API/HOWTO.pod
Installing /root/perl5/lib/perl5/CPAN/Exception/blocked_urllist.pm
Installing /root/perl5/lib/perl5/CPAN/Exception/RecursiveDependency.pm
Installing /root/perl5/lib/perl5/CPAN/Exception/yaml_process_error.pm
Installing /root/perl5/lib/perl5/CPAN/Exception/yaml_not_installed.pm
Installing /root/perl5/lib/perl5/CPAN/Plugin/Specfile.pm
Installing /root/perl5/lib/perl5/App/Cpan.pm
Installing /root/perl5/man/man1/cpan-mirrors.1
Installing /root/perl5/man/man1/cpan.1
Installing /root/perl5/man/man3/CPAN.3pm
Installing /root/perl5/man/man3/CPAN::Admin.3pm
Installing /root/perl5/man/man3/CPAN::Tarzip.3pm
Installing /root/perl5/man/man3/CPAN::Queue.3pm
Installing /root/perl5/man/man3/CPAN::Distroprefs.3pm
Installing /root/perl5/man/man3/CPAN::Version.3pm
Installing /root/perl5/man/man3/App::Cpan.3pm
Installing /root/perl5/man/man3/CPAN::Kwalify.3pm
Installing /root/perl5/man/man3/CPAN::Nox.3pm
Installing /root/perl5/man/man3/CPAN::Plugin::Specfile.3pm
Installing /root/perl5/man/man3/CPAN::Debug.3pm
Installing /root/perl5/man/man3/CPAN::HandleConfig.3pm
Installing /root/perl5/man/man3/CPAN::Plugin.3pm
Installing /root/perl5/man/man3/CPAN::API::HOWTO.3pm
Installing /root/perl5/man/man3/CPAN::Mirrors.3pm
Installing /root/perl5/man/man3/CPAN::FirstTime.3pm
Installing /root/perl5/bin/cpan-mirrors
Installing /root/perl5/bin/cpan
Appending installation info
to /root/perl5/lib/perl5/x86_64-linux-thread-multi/perllocal.pod
ANDK/CPAN-2.25.tar.gz
/usr/bin/make install -- OK

cpan[3]> reload cpan
(CPAN__unchanged__v1.9800)(CPAN::Author__unchanged__v5.5001)
(CPAN::CacheMgr__unchanged__v5.5001)(CPAN::Complete__unchanged__v5.5)
(CPAN::Debug__unchanged__v5.5001)(CPAN::DeferredCode__unchanged__v5.50)
(CPAN::Distribution__unchanged__v1.9602)(CPAN::Distroprefs__unchanged__v6)
(CPAN::Distrostatus__unchanged__v5.5)
(CPAN::Exception::RecursiveDependency..v5.5)
(CPAN::Exception::yaml_not_installed..v5.5)(CPAN::FTP__unchanged__v5.5005)
(CPAN::FTP::netrc__unchanged__v1.01)(CPAN::HandleConfig__unchanged__v5.5003)
(CPAN::Index__unchanged__v1.9600)(CPAN::InfoObj__unchanged__v5.5)
(CPAN::LWP::UserAgent....v1.9600)(CPAN::Module__unchanged__v5.5001)
(CPAN::Prompt__unchanged__v5.5)(CPAN::Queue__unchanged__v5.5001)
(CPAN::Shell__unchanged__v5.5002)(CPAN::Tarzip__unchanged__v5.5011)
(CPAN::Version__unchanged__v5.5001)
8 subroutines redefined

cpan[4]> Lockfile removed.
[root@lou ~]# cpan

cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.

cpan[1]>

Comments

Re: CPAN not working, or is it?

By Pete Biggs at 03/11/2019 - 10:28

CPAN on CentOS 7 doesn't install things in the system locations by
default (and by design). This is to stop CPAN from over-writing files
that actually belong to rpm packages.

A number of things you can do. The sort of recommended way is to
package the perl modules into an RPM and install them that way (so that
the package managers know about them and can resolve conflicts). There
are progs to do it for - look for cpanspec.

CPAN will install the modules in ~/perl5/... by default - the "real"
way of doing things is to @INC that location at the top of the perl
script or set environment variables appropriately.

Finally, if you must, fiddle with the CPAN configuration to install
them in a system location. But be aware that things might get confused
or break.

P.