Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Failure Installing Net::HTTP

by TexanScot (Initiate)
on Mar 08, 2018 at 23:17 UTC ( #1210535=perlquestion: print w/replies, xml ) Need Help??
TexanScot has asked for the wisdom of the Perl Monks concerning the following question:

I'm working on MacOs Sierra (10.10.12) and attempting to install up to date local versions of the PERL modules used by Get_Iplayer using the command:

cpanm LWP LWP::Protocol::https Mojolicious XML::LibXML CGI IO::Socket::SSL

However I get a failure when installing Net::HTTP and am not quite sure what to do next! I've included a copy of the build log below for information and would appreciate guidance regarding how I might fix this issue.

cpanm (App::cpanminus) 1.7043 on perl 5.018002 built for darwin-thread +-multi-2level Work directory is /Users/alastair/.cpanm/work/1520549311.19529 You have make /usr/bin/make You have LWP 6.05 You have /usr/bin/tar: bsdtar 2.8.3 - libarchive 2.8.3 You have /usr/bin/unzip Searching LWP () on cpanmetadb ... --> Working on LWP Fetching http://www.cpan.org/authors/id/O/OA/OALDERS/libwww-perl-6.33. +tar.gz -> OK Unpacking libwww-perl-6.33.tar.gz Entering libwww-perl-6.33 Checking configure dependencies from META.json Checking if you have Getopt::Long 0 ... Yes (2.39) Checking if you have File::Copy 0 ... Yes (2.26) Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.32) Configuring libwww-perl-6.33 Running Makefile.PL Warning: prerequisite Net::HTTP 6.07 not found. We have 6.06. Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for libwww::perl Writing MYMETA.yml and MYMETA.json -> OK Checking dependencies from MYMETA.json ... Checking if you have Try::Tiny 0 ... Yes (0.19) Checking if you have URI::Escape 0 ... Yes (3.31) Checking if you have Scalar::Util 0 ... Yes (1.38) Checking if you have Digest::MD5 0 ... Yes (2.52) Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.32) Checking if you have HTML::HeadParser 0 ... Yes (3.71) Checking if you have base 0 ... Yes (2.18) Checking if you have HTTP::Cookies 6 ... Yes (6.01) Checking if you have HTTP::Status 6 ... Yes (6.03) Checking if you have HTML::Entities 0 ... Yes (3.69) Checking if you have WWW::RobotRules 6 ... Yes (6.02) Checking if you have HTTP::Daemon 6 ... Yes (6.01) Checking if you have File::Listing 6 ... Yes (6.04) Checking if you have URI 1.10 ... Yes (1.60) Checking if you have HTTP::Date 6 ... Yes (6.02) Checking if you have Test::RequiresInternet 0 ... Yes (0.05) Checking if you have strict 0 ... Yes (1.07) Checking if you have FindBin 0 ... Yes (1.51) Checking if you have Encode::Locale 0 ... Yes (1.03) Checking if you have LWP::MediaTypes 6 ... Yes (6.02) Checking if you have Test::More 0 ... Yes (0.98) Checking if you have Encode 2.12 ... Yes (2.49) Checking if you have File::Spec 0 ... Yes (3.40) Checking if you have IO::Socket 0 ... Yes (1.36) Checking if you have HTTP::Negotiate 6 ... Yes (6.01) Checking if you have HTTP::Request 6 ... Yes (6.00) Checking if you have MIME::Base64 2.1 ... Yes (3.13) Checking if you have HTTP::Request::Common 6 ... Yes (6.04) Checking if you have IO::Select 0 ... Yes (1.21) Checking if you have Net::HTTP 6.07 ... No (6.06 < 6.07) Checking if you have Test::Fatal 0 ... Yes (0.013) Checking if you have HTTP::Response 6 ... Yes (6.04) Checking if you have warnings 0 ... Yes (1.18) Checking if you have Net::FTP 2.58 ... Yes (2.77) ==> Found dependencies: Net::HTTP Searching Net::HTTP (6.07) on cpanmetadb ... --> Working on Net::HTTP Fetching http://www.cpan.org/authors/id/O/OA/OALDERS/Net-HTTP-6.17.tar +.gz -> OK Unpacking Net-HTTP-6.17.tar.gz Entering Net-HTTP-6.17 Checking configure dependencies from META.json Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.32) Configuring Net-HTTP-6.17 Running Makefile.PL Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Net::HTTP Writing MYMETA.yml and MYMETA.json -> OK Checking dependencies from MYMETA.json ... Checking if you have Data::Dumper 0 ... Yes (2.145) Checking if you have IO::Uncompress::Gunzip 0 ... Yes (2.060) Checking if you have IO::Socket::INET 0 ... Yes (1.33) Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.32) Checking if you have File::Spec 0 ... Yes (3.40) Checking if you have base 0 ... Yes (2.18) Checking if you have Carp 0 ... Yes (1.29) Checking if you have Test::More 0 ... Yes (0.98) Checking if you have vars 0 ... Yes (1.03) Checking if you have IO::Select 0 ... Yes (1.21) Checking if you have Compress::Raw::Zlib 0 ... Yes (2.060) Checking if you have strict 0 ... Yes (1.07) Checking if you have warnings 0 ... Yes (1.18) Checking if you have URI 0 ... Yes (1.60) Checking if you have Socket 0 ... Yes (2.009) Building and testing Net-HTTP-6.17 cp lib/Net/HTTP/NB.pm blib/lib/Net/HTTP/NB.pm cp lib/Net/HTTPS.pm blib/lib/Net/HTTPS.pm cp lib/Net/HTTP/Methods.pm blib/lib/Net/HTTP/Methods.pm cp lib/Net/HTTP.pm blib/lib/Net/HTTP.pm Manifying 4 pod documents PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::H +arness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/l +ib', 'blib/arch')" t/*.t # # Versions for all modules listed in MYMETA.json (including optional o +nes): # # === Configure Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 7.32 # # === Configure Suggests === # # Module Want Have # -------- ------- ------- # JSON::PP 2.27300 2.27203 # # === Build Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 7.32 # # === Test Requires === # # Module Want Have # ------------------- ---- ----- # Data::Dumper any 2.145 # ExtUtils::MakeMaker any 7.32 # File::Spec any 3.40 # IO::Select any 1.21 # Socket any 2.009 # Test::More any 0.98 # # === Test Recommends === # # Module Want Have # ---------- -------- -------- # CPAN::Meta 2.120900 2.143240 # # === Runtime Requires === # # Module Want Have # ---------------------- ---- ----- # Carp any 1.29 # Compress::Raw::Zlib any 2.060 # IO::Socket::INET any 1.33 # IO::Uncompress::Gunzip any 2.060 # URI any 1.60 # base any 2.18 # strict any 1.07 # vars any 1.03 # warnings any 1.18 # # === Runtime Suggests === # # Module Want Have # ----------------- ----- ----- # IO::Socket any 1.36 # IO::Socket::INET6 any 2.72 # IO::Socket::IP any 0.39 # IO::Socket::SSL 2.012 2.056 # Symbol any 1.07 # t/00-report-prereqs.t .. ok t/http-nb.t ............ ok t/http.t ............... ok SSL connect attempt failed error:1407742E:SSL routines:SSL23_GET_SERVE +R_HELLO:tlsv1 alert protocol version at t/live-https.t line 34. # Looks like your test exited with 255 before it could output anything +. t/live-https.t ......... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 6/6 subtests t/live.t ............... ok t/rt-112313.t .......... ok Test Summary Report ------------------- t/live-https.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 6 tests but ran 0. Files=6, Tests=98, 26 wallclock secs ( 0.03 usr 0.01 sys + 0.38 cusr + 0.06 csys = 0.48 CPU) Result: FAIL Failed 1/6 test programs. 0/98 subtests failed. make: *** [test_dynamic] Error 255 -> FAIL Installing Net::HTTP failed. See /Users/alastair/.cpanm/work/1 +520549311.19529/build.log for details. Retry with --force to force in +stall it. -> FAIL Installing the dependencies failed: Installed version (6.06) o +f Net::HTTP is not in range '6.07' -> FAIL Bailing out the installation for libwww-perl-6.33. Searching LWP::Protocol::https () on cpanmetadb ... --> Working on LWP::Protocol::https Fetching http://www.cpan.org/authors/id/O/OA/OALDERS/LWP-Protocol-http +s-6.07.tar.gz -> OK Unpacking LWP-Protocol-https-6.07.tar.gz Entering LWP-Protocol-https-6.07 Checking configure dependencies from META.json Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.32) Configuring LWP-Protocol-https-6.07 Running Makefile.PL Warning: prerequisite LWP::UserAgent 6.06 not found. We have 6.05. Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for LWP::Protocol::https Writing MYMETA.yml and MYMETA.json -> OK Checking dependencies from MYMETA.json ... Checking if you have IO::Socket::SSL 1.54 ... Yes (2.056) Checking if you have Test::RequiresInternet 0 ... Yes (0.05) Checking if you have Net::HTTPS 6 ... Yes (6.04) Checking if you have LWP::UserAgent 6.06 ... No (6.05 < 6.06) Checking if you have Test::More 0 ... Yes (0.98) Checking if you have Mozilla::CA 20110101 ... Yes (20180117) ==> Found dependencies: LWP::UserAgent Searching LWP::UserAgent (6.06) on cpanmetadb ... Already tried libwww-perl-6.33. Skipping. -> FAIL Installing the dependencies failed: Installed version (6.05) o +f LWP::UserAgent is not in range '6.06' -> FAIL Bailing out the installation for LWP-Protocol-https-6.07. Searching Mojolicious () on cpanmetadb ... Mojolicious is up to date. (7.70) Searching XML::LibXML () on cpanmetadb ... XML::LibXML is up to date. (2.0132) Searching CGI () on cpanmetadb ... CGI is up to date. (4.38) Searching IO::Socket::SSL () on cpanmetadb ... IO::Socket::SSL is up to date. (2.056)

Replies are listed 'Best First'.
Re: Failure Installing Net::HTTP
by 1nickt (Monsignor) on Mar 08, 2018 at 23:43 UTC

    Hi, Net::SSLeay and openssl library issues are a common problem on Mac OS X. Google for many tutorials.

    I recommend using homebrew to install openssl if you are not already, and I very strongly recommend that you do not attempt to update the system Perl or libraries on OS X. You should get http://perlbrew.pl and install a separate perl and libraries for your own development work. (You'll still need to create the openssl symlinks though.)


    The way forward always starts with a minimal test.

      Thanks for your feedback. Unfortunately I don't quite follow your response.

      I'm not attempting to update the system PERL or libraries, rather I was trying to generate up to date local copies of the modules that I listed within a local library using the cpanminus and the Perl local::lib module. To do this I used the following commands (per the iplayer installation guide.

      curl -L "http://cpanmin.us" | perl - -l ~/perl5 App::cpanminus local:: +lib eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib` echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.bash_profil +e

      Can you expand on how the NET::SSLeay and Openssl libraries relate to the problem with Net::HTTP?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1210535]
Approved by marto
help
Chatterbox?
[erix]: heh

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (7)
As of 2018-04-25 17:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?