in reply to Re^6: [Win32] PerlIO-Layers fails 4 tests on perl-5.10 only
in thread [Win32] PerlIO-Layers fails 4 tests on perl-5.10 only

Can't stat lib: No such file or directory

Seems I created the lib directory one level below where it was meant to be. That tends to happens when you have to do these things manually because people use broken tools.

I never seem to have these problems with the normal method; only these fatuous Build scripts.

The upshot of correcting that problem is:

C:\Perl64\packages\PerlIO-Layers-0.010>.\Build.PL compilet-1509425152.c Creating library C:\Windows\TEMP\compilet.lib and object C:\Windows +\TEMP\compilet.exp Generating code Finished generating code Creating new 'MYMETA.yml' with configuration results Creating new 'Build' script for 'PerlIO-Layers' version '0.010' C:\Perl64\packages\PerlIO-Layers-0.010>Build.bat Building PerlIO-Layers Generating script 'lib\PerlIO\Layers.ccs' cl -nologo -c @"lib\PerlIO\Layers.ccs" -Fo"lib\PerlIO\Layers.obj" "lib +\PerlIO\Layers.c" Layers.c lib\PerlIO\Layers.xs(47) : warning C4267: 'function' : conversion from + 'size_t' to 'I32', possible loss of data lib\PerlIO\Layers.c(125) : warning C4101: 'RETVAL' : unreferenced loca +l variable ExtUtils::Mkbootstrap::Mkbootstrap('blib\arch\auto\PerlIO\Layers\Layer +s.bs') Generating script 'lib\PerlIO\Layers.lds' link @"lib\PerlIO\Layers.lds" -out:"blib\arch\auto\PerlIO\Layers\Layer +s.dll" Creating library lib\PerlIO\Layers.lib and object lib\PerlIO\Layers +.exp Generating code Finished generating code if exist -manifest "lib\PerlIO\Layers.dll.manifest" mt -nologo -manife +st "lib\PerlIO\Layers.dll.manifest" -outputresource:"blib\arch\auto\P +erlIO\Layers\Layers.dll";2 C:\Perl64\packages\PerlIO-Layers-0.010>Build.bat test t/00-compile.t ............ Can't load 'C:\Perl64\packages\PerlIO-Laye +rs-0.010\blib\arch/auto/PerlIO/Layers/Layers.dll' for module PerlIO:: +Layers: load_file:A dynamic link library (DLL) initialization routine + failed at c:/Perl64/lib/DynaLoader.pm line 201. at -e line 1 Compilation failed in require at -e line 1. t/00-compile.t ............ 1/1 # Failed test 'PerlIO::Layers loaded + ok' # at t/00-compile.t line 62. # '' # doesn't match '(?s-xim:^\s*PerlIO::Layers ok)' # Looks like you failed 1 test of 1. t/00-compile.t ............ Dubious, test returned 1 (wstat 256, 0x100 +) Failed 1/1 subtests t/10-basics.t ............. Can't load 'C:\Perl64\packages\PerlIO-Laye +rs-0.010\blib\arch/auto/PerlIO/Layers/Layers.dll' for module PerlIO:: +Layers: load_file:A dynamic link library (DLL) initialization routine + failed at c:/Perl64/lib/DynaLoader.pm line 201. at t/10-basics.t line 9 Compilation failed in require at t/10-basics.t line 9. BEGIN failed--compilation aborted at t/10-basics.t line 9. t/10-basics.t ............. Dubious, test returned 34 (wstat 8704, 0x2 +200) No subtests run t/release-kwalitee.t ...... skipped: these tests are for release candi +date testing t/release-pod-coverage.t .. skipped: these tests are for release candi +date testing t/release-pod-syntax.t .... skipped: these tests are for release candi +date testing Test Summary Report ------------------- t/00-compile.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/10-basics.t (Wstat: 8704 Tests: 0 Failed: 0) Non-zero exit status: 34 Parse errors: No plan found in TAP output Files=5, Tests=1, 19 wallclock secs ( 0.06 usr + 0.03 sys = 0.09 CPU +) Result: FAIL Failed 2/5 test programs. 1/1 subtests failed.

With the OS reporting runtime error:R6034


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?

Replies are listed 'Best First'.
Re^8: [Win32] PerlIO-Layers fails 4 tests on perl-5.10 only
by syphilis (Archbishop) on Apr 09, 2012 at 02:08 UTC
    Can't load 'C:\Perl64\packages\PerlIO-Layers-0.010\blib\arch/auto/PerlIO/Layers/Layers.dll' for module PerlIO::Layers: load_file:A dynamic link library (DLL) initialization routine failed at c:/Perl64/lib/DynaLoader.pm line 201.

    Up until the appearance of that error I was getting the same as you. I suspect we're using different compilers. (I have Microsoft Platform SDK for Windows Server 2003 R2.)

    Apart from the top level 'MANIFEST' file, do you have any files whose names =~ /manifest/i after 'build.bat' has been run ? (I don't.)

    I guess another possibility is that the difference arises because we have different M::B versions. I'm using 0.3901.

    Cheers,
    Rob
      The MS manifest problem is a problem. I think the scenario is, old makemaker or old module build that doesn't know to run the mt tool, or the perl was compiled with the MS pre-manifest VC compiler, yet you are using a MS manifest VC compiler, and Config.pm isn't MS manifest aware.
Re^8: [Win32] PerlIO-Layers fails 4 tests on perl-5.10 only
by Anonymous Monk on Apr 08, 2012 at 23:14 UTC

    That tends to happens when you have to do these things manually because people use broken tools.

    Which broken tools are you using and why?

    I see no problem with PerlIO-Layers-0.009.tar.gz, ptar or tar from gnuwin32/unxutils/mingw or 7zip all handle it fine

    PerlIO-Layers-0.009/ PerlIO-Layers-0.009/INSTALL PerlIO-Layers-0.009/t/ PerlIO-Layers-0.009/t/release-pod-syntax.t PerlIO-Layers-0.009/t/release-pod-coverage.t PerlIO-Layers-0.009/t/release-kwalitee.t PerlIO-Layers-0.009/t/00-compile.t PerlIO-Layers-0.009/t/10-basics.t PerlIO-Layers-0.009/Build.PL PerlIO-Layers-0.009/lib/ PerlIO-Layers-0.009/lib/PerlIO/ PerlIO-Layers-0.009/lib/PerlIO/Layers.pm PerlIO-Layers-0.009/lib/PerlIO/Layers.xs PerlIO-Layers-0.009/dist.ini PerlIO-Layers-0.009/LICENSE PerlIO-Layers-0.009/META.json PerlIO-Layers-0.009/Changes PerlIO-Layers-0.009/MANIFEST PerlIO-Layers-0.009/META.yml PerlIO-Layers-0.009/README

      There nuttin' wrong with the tools I use. This is me unpacking the most complex perl package I could find (note the presence of a makefile):

      The problem only seems to arise with packages built with Module::Build:

      C:\Perl64\packages>gunzip PerlIO-Layers-0.010.tar.gz C:\Perl64\packages>tar -xvf PerlIO-Layers-0.010.tar PerlIO-Layers-0.010 README Changes LICENSE INSTALL dist.ini META.yml MANIFEST Build.PL META.json t 10-basics.t 00-compile.t PerlIO Layers.pm Layers.xs release-kwalitee.t release-pod-syntax.t release-pod-coverage.t C:\Perl64\packages>tree /a PerlIO-Layers-0.010 Folder PATH listing Volume serial number is 8C78-4B42 C:\PERL64\PACKAGES\PERLIO-LAYERS-0.010 No subfolders exist C:\Perl64\packages>del README Changes LICENSE INSTALL dist.ini META.ym +l MANIFEST Build.PL META.json t 10-basics.t 00-compile.t PerlIO Layer +s.pm Layers.xs release-kwalitee.t release-pod-syntax.t release-pod-co +verage.t C:\Perl64\packages\t\*, Are you sure (Y/N)? y C:\Perl64\packages\PerlIO\*, Are you sure (Y/N)? y C:\Perl64\packages>rd PerlIO t PerlIO-Layers-0.010

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

      The start of some sanity?

        There nuttin' wrong with the tools I use.... The problem only seems to arise with packages built with Module::Build

        So which tar.exe or whatever are you using?

        Module::Build has nothing to do with it, there is nothing wrong with PerlIO-Layers-0.010.tar.gz