mlamborn has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

I have a mac os x 10.7.5 with perl v5.12.3. I also have installed xcode 4.3.2.

In trying to install the WWW::Curl module using cpanp, some of the tests fail, apparently on a file descriptor issue. When I read through the output, it apparently finds a curl-config file (not my own doing) and finds some syntax problems with stdio.h.

I have successfully installed other modules using cpanp. However, I am relatively new with this. Up to this point have opted out of proceeding with the installation, but don't know how to proceed to correct the issue. I've tried internet searches and Super Search on this web site, but can't find anything that gives direct insight to the issue, either to fix or ignore it.

Output of the cpanp is shown below.

Thanks in advance.

mlamborn@Vash 5: sudo cpanp -i WWW::Curl Password: Installing WWW::Curl (4.15) Running [/usr/bin/perl /usr/bin/cpanp-run-perl /Users/mlamborn/.cpanpl +us/5.12.3/build/WWW-Curl-4.15/Makefile.PL]... Locating required external dependency bin:curl-config... found at /usr +/bin/curl-config. The version is libcurl 7.21.4 Found curl.h in /usr/include/curl/curl.h In file included from /usr/include/stdio.h:500, from /usr/include/curl/curl.h:47: /usr/include/secure/_stdio.h:49: error: syntax error in macro paramete +r list /usr/include/secure/_stdio.h:57: error: syntax error in macro paramete +r list Building curlopt-constants.c for your libcurl version Building Easy.pm constants for your libcurl version Building Share.pm constants for your libcurl version Writing Makefile for WWW::Curl Writing MYMETA.yml and MYMETA.json Running [/usr/bin/make test]... PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_h +arness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t t/00constants.t ........... ok t/01basic.t ............... ok t/02callbacks.t ........... ok t/04abort-test.t .......... ok t/05progress.t ............ ok t/06http-post.t ........... skipped: Not performing http POST/upload t +ests t/07ftp-upload.t .......... skipped: Not performing ftp upload tests t/08ssl.t ................. ok t/09times.t ............... ok t/10errbuf.t .............. ok t/13slowleak.t ............ skipped: Not performing slow leakage regre +ssion test t/14duphandle.t ........... ok t/15duphandle-callback.t .. ok t/16formpost.t ............ skipped: Not performing POST t/17slist.t ............... skipped: Not performing printenv cgi tests t/18twinhandles.t ......... ok # Failed test 'The read or write fdset contains one fd' # at t/19multi.t line 61. # Failed test 'The read or write fdset still only contains one fd' # at t/19multi.t line 64. # Failed test 'The read or write fdset contains two fds' # at t/19multi.t line 67. # Looks like you failed 3 tests of 20. t/19multi.t ............... Dubious, test returned 3 (wstat 768, 0x300) Failed 3/20 subtests t/20undefined_subs.t ...... ok t/21write-to-scalar.t ..... ok t/meta.t .................. skipped: Test::CPAN::Meta required for tes +ting META.yml t/pod-coverage.t .......... skipped: Test::Pod::Coverage 1.04 required + for testing POD coverage t/pod.t ................... ok Test Summary Report ------------------- t/19multi.t (Wstat: 768 Tests: 20 Failed: 3) Failed tests: 11-13 Non-zero exit status: 3 Files=22, Tests=821, 15 wallclock secs ( 0.19 usr 0.06 sys + 1.28 cu +sr 0.22 csys = 1.75 CPU) Result: FAIL Failed 1/22 test programs. 3/821 subtests failed. make: *** [test_dynamic] Error 255 [ERROR] MAKE TEST failed: Inappropriate ioctl for device PERL_DL_NONLA +ZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'i +nc', 'blib/lib', 'blib/arch')" t/*.t t/00constants.t ........... ok t/01basic.t ............... ok t/02callbacks.t ........... ok t/04abort-test.t .......... ok t/05progress.t ............ ok t/06http-post.t ........... skipped: Not performing http POST/upload t +ests t/07ftp-upload.t .......... skipped: Not performing ftp upload tests t/08ssl.t ................. ok t/09times.t ............... ok t/10errbuf.t .............. ok t/13slowleak.t ............ skipped: Not performing slow leakage regre +ssion test t/14duphandle.t ........... ok t/15duphandle-callback.t .. ok t/16formpost.t ............ skipped: Not performing POST t/17slist.t ............... skipped: Not performing printenv cgi tests t/18twinhandles.t ......... ok # Failed test 'The read or write fdset contains one fd' # at t/19multi.t line 61. # Failed test 'The read or write fdset still only contains one fd' # at t/19multi.t line 64. # Failed test 'The read or write fdset contains two fds' # at t/19multi.t line 67. # Looks like you failed 3 tests of 20. t/19multi.t ............... Dubious, test returned 3 (wstat 768, 0x300) Failed 3/20 subtests t/20undefined_subs.t ...... ok t/21write-to-scalar.t ..... ok t/meta.t .................. skipped: Test::CPAN::Meta required for tes +ting META.yml t/pod-coverage.t .......... skipped: Test::Pod::Coverage 1.04 required + for testing POD coverage t/pod.t ................... ok Test Summary Report ------------------- t/19multi.t (Wstat: 768 Tests: 20 Failed: 3) Failed tests: 11-13 Non-zero exit status: 3 Files=22, Tests=821, 15 wallclock secs ( 0.19 usr 0.06 sys + 1.28 cu +sr 0.22 csys = 1.75 CPU) Result: FAIL Failed 1/22 test programs. 3/821 subtests failed. make: *** [test_dynamic] Error 255 The tests for 'WWW::Curl' failed. Would you like me to proceed anyway +or should we abort? Proceed anyway? [y/N]:N

Replies are listed 'Best First'.
Re: WWW::Curl fails cpanp install
by kcott (Archbishop) on May 25, 2013 at 01:45 UTC

    G'day mlamborn,

    Welcome to the monastery.

    Firstly, it's not a good idea to alter the system Perl. Responses to Are there any major Perl issues with Mac OS X Lion? discuss this in more detail and offer some options. I chose perlbrew.

    I'm running Mac OS X 10.7.5 (same as you) and Xcode 4.2 (earlier version than your 4.3.2). I don't have the same Perl version as you but I did successfully install WWW::Curl (v4.15) under perl v5.14.2.

    Looking at CPAN Testers Reports and CPAN Testers PASS Matrix, I see this module has been successfully installed on Mac OS X under perl v5.12.3 on a number of occasions.

    Modules which fail the 'test' phase will often install quite happily when forced. In these circumstances, I would recommend further checking before using the module in 'production'; this may involve: checking the test scripts (t/*.t); checking that code using an earlier version still works; carrying out your own testing specific to the intended usage of the module; and so on.

    -- Ken

Re: www::curl fails cpanp install
by Anonymous Monk on May 24, 2013 at 19:58 UTC

    Proceed anyway? y/N:N

    Next time choose y and it will install

      cpanp -i --force WWW::Curl