Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^2: Bad file descriptor error in Win32 VC2015 compiled perl-5.20.3

by shadowsong (Pilgrim)
on Mar 22, 2016 at 15:45 UTC ( [id://1158512]=note: print w/replies, xml ) Need Help??


in reply to Re: Bad file descriptor error in Win32 VC2015 compiled perl-5.20.3
in thread Bad file descriptor error in Win32 VC2015 compiled perl-5.20.3

Rob,

Thanks for taking the time to chime in.

It looks that way. Running perl -Mblib t\00-report-prereqs.t yields the following successful result:

C:\Users\jndt\.cpan\build\Path-Tiny-0.084-0ciDMM>perl -Mblib t\00-repo +rt-prereqs.t 1..1 # # Versions for all modules listed in MYMETA.json (including optional o +nes): # # === Configure Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker 6.17 6.98 # # === Configure Suggests === # # Module Want Have # -------- ------- ------- # JSON::PP 2.27300 2.27203 # # === Build Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 6.98 # # === Test Requires === # # Module Want Have # --------------------- ---- -------- # ExtUtils::MakeMaker any 6.98 # File::Basename any 2.85 # File::Spec 0.86 3.48_01 # File::Spec::Functions any 3.48_01 # File::Spec::Unix any 3.48_01 # File::Temp 0.19 0.2304 # Test::More 0.96 1.001002 # lib any 0.63 # open any 1.10 # # === Test Recommends === # # Module Want Have # ------------------ -------- -------- # CPAN::Meta 2.120900 2.140640 # Test::FailWarnings any missing # Test::MockRandom any missing # # # === Test Recommends === # # Module Want Have # ------------------ -------- -------- # CPAN::Meta 2.120900 2.140640 # Test::FailWarnings any missing # Test::MockRandom any missing # # === Runtime Requires === # # Module Want Have # ----------- ---- ------- # Carp any 1.3301 # Cwd any 3.48_01 # Digest 1.03 1.17 # Digest::SHA 5.45 5.88 # Exporter 5.57 5.71 # Fcntl any 1.11 # File::Copy any 2.30 # File::Glob any 1.23 # File::Path 2.07 2.09 # File::Spec 0.86 3.48_01 # File::Temp 0.19 0.2304 # File::stat any 1.07 # constant any 1.31 # if any 0.0603 # overload any 1.22 # strict any 1.08 # warnings any 1.23 # # === Runtime Recommends === # # Module Want Have # ------------- ---- ------- # Unicode::UTF8 0.58 missing # ok 1

At the end of my response Re^2: Bad file descriptor error in Win32 VC2015 compiled perl-5.20.3 to BrowserUk, I outlined a bizarre observation wherein printing to STDOUT simply produced nothing

Additionally

From within the module directory - running perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t\00-report-prereqs.t yields the following unsuccessful result:

>perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::H +arness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t\00-repo +rt-prereqs.t t\00-report-prereqs.t .. Can't dup STDOUT: Bad file descriptor at C:/ +perl-5.20.3/lib/Test/Builder.pm line 1952. Compilation failed in require at C:/perl-5.20.3/lib/Test/Builder/Modul +e.pm line 5. BEGIN failed--compilation aborted at C:/perl-5.20.3/lib/Test/Builder/M +odule.pm line 5. Compilation failed in require at C:/perl-5.20.3/lib/Test/More.pm line +23. BEGIN failed--compilation aborted at C:/perl-5.20.3/lib/Test/More.pm l +ine 23. Compilation failed in require at t\00-report-prereqs.t line 8. BEGIN failed--compilation aborted at t\00-report-prereqs.t line 8. t\00-report-prereqs.t .. Dubious, test returned 9 (wstat 2304, 0x900) No subtests run Test Summary Report ------------------- t\00-report-prereqs.t (Wstat: 2304 Tests: 0 Failed: 0) Non-zero exit status: 9 Parse errors: No plan found in TAP output Files=1, Tests=0, 0 wallclock secs ( 0.05 usr + 0.00 sys = 0.05 CPU +) Result: FAIL Failed 1/1 test programs. 0/0 subtests failed.

Maybe the Test Harness is cocking up my STDOUT file descriptor?

Cheers,
Shadowsong

Replies are listed 'Best First'.
Re^3: Bad file descriptor error in Win32 VC2015 compiled perl-5.20.3
by syphilis (Archbishop) on Mar 23, 2016 at 01:19 UTC
    Maybe the Test Harness is cocking up my STDOUT file descriptor?

    I've never managed to understand anything about problems that arise only when Test::Harness is invoked.
    (Best news would have been for you to report "Nope - makes no difference" ;-)

    perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t\00-report-prereqs.t


    A shot in the dark - does it make any difference if you remove undef *Test::Harness::Switches; from that command ?

    You mention another build of perl on another system where this problem does not arise.
    Do both systems run the same command when 'make test' is run ? (Obviously, they'll invoke different perls.)
    Do both systems run the same version of Test::Harness:
    perl -MTest::Harness -e "print $Test::Harness::VERSION"

    Cheers,
    Rob

      Rob - apologies for the late reply.

      A shot in the dark - does it make any difference if you remove undef *Test::Harness::Switches; from that command ?

      Removing undef *Test::Harness::Switches; from the command results in much the same - see error below:

      System 2 - where the problem isn't evident

      • Yes - both systems run the same command when make test is run
      • Yes - both systems run the same version of Test::Harness

      Test::Harness Version info on both systems

      It's quite bizarre and I'm out of ideas as to why my STDOUT file descriptor is evidently corrupt on the Win7 machine.

        I'm out of ideas as to why my STDOUT file descriptor is evidently corrupt on the Win7 machine

        Same here.

        It would be interesting to know whether the same problem exists when perl-5.20.3 is built with gcc.
        If you think that's worth investigating you could install 32-bit and/or 64-bit StrawberryPerl portable builds of 5.20.3 and see how they handle the installation of Path::Tiny.
        You could also try a more recent version of perl.
        But whether any of that would lead to enlightenment is anyone's guess ;-)

        On my Windows7 machine, I have 64-bit perl-5.18.0 built with "Microsoft (R) C/C++ Optimizing Compiler Version 14.00.40310.41 for AMD64" - which is a different version of perl built using a different Microsoft Compiler.
        FWIW (not much) Path::Tiny builds fine on that build of perl.

        Cheers,
        Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1158512]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2024-04-25 23:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found