in reply to Re: Perl 5.10.1 RC1 released for testing
in thread Perl 5.10.1 RC1 released for testing

Trying to build perl-5.10.1-RC1 with ActivePerl/MinGW-5.1.4.1.ppd supplied gcc version 3.4.5 (mingw-vista special r3), aborts the build with a segfault for generate_uudmap.exe. I've built bleadperl with the same setup; generate_uudmap also segfaulted, but that didn't stop the build from completing successfully. There is no problem building perl-5.10.1-RC1 with strawberry perl supplied gcc version 3.4.5 (mingw special).

There are very few test failures, nothing serious

op/readline.t .................................................... 7/1 +8 # Failed at op/readline.t line 92 # got 'main=ARRAY(0xa09644)es # ' # expected /(?-xism:main=ARRAY.*world)/ # Failed at op/readline.t line 101 # got 'A: world # ' # expected 'A: One # ' # Failed at op/readline.t line 102 # got 'B: One # ' # expected 'B: Two # ' op/readline.t .................................................... Fai +led 3/18 subtests
The same test fails in bleadperl :)

Some tests are skipped because they use shell redirection without escaping

../ext/IO-Compress/t/050interop-gzip.t ........................... 'C: +\Program' is not recognized as an internal or external command, opera +ble program or batch file. # 'C:\Program Files\gnuwin32\bin/gzip.exe -c tst00001.tmp >tst00000.t +mp' failed: 256 ../ext/IO-Compress/t/050interop-gzip.t ........................... ski +pped: gzip.exe doesn't work as expected
These CPANPLUS tests skip in the same way
../lib/CPANPLUS/Dist/Build/t/01_CPANPLUS-Dist-Build-Constants.t ../lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t ../lib/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t ../lib/CPANPLUS/t/01_CPANPLUS-Configure.t ../lib/CPANPLUS/t/02_CPANPLUS-Internals.t ../lib/CPANPLUS/t/03_CPANPLUS-Internals-Source.t ../lib/CPANPLUS/t/04_CPANPLUS-Module.t ../lib/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t ../lib/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t ../lib/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t ../lib/CPANPLUS/t/08_CPANPLUS-Backend.t ../lib/CPANPLUS/t/09_CPANPLUS-Internals-Search.t ../lib/CPANPLUS/t/10_CPANPLUS-Error.t ../lib/CPANPLUS/t/15_CPANPLUS-Shell.t ../lib/CPANPLUS/t/19_CPANPLUS-Dist.t ../lib/CPANPLUS/t/20_CPANPLUS-Dist-MM.t ../lib/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t ../lib/CPANPLUS/t/25_CPANPLUS.t ../lib/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t ../lib/CPANPLUS/t/40_CPANPLUS-Internals-Report.t

My firewall complains that these tests want to listen on 0.0.0.0

../ext/IO/t/io_multihomed.t ../ext/IO/t/io_sock.t
Many others tests listen on 127.0.0.1 without problems :)

Replies are listed 'Best First'.
Re^3: Perl 5.10.1 RC1 released for testing
by syphilis (Archbishop) on Aug 08, 2009 at 13:10 UTC
    Trying to build perl-5.10.1-RC1 with ActivePerl/MinGW-5.1.4.1.ppd supplied gcc version 3.4.5 (mingw-vista special r3), aborts the build with a segfault for generate_uudmap.exe.

    This problem seems to arise for some builds of MinGW but not others - the version of the mingw-runtime being used seems to be the most likely culprit. In the win32/makefile.mk you'll find the line:
    LIBC = -lmsvcrt
    Does it help if you comment out that line ? (Comment out with a '#' same as for perl.)
    There's a recent thread on p5p where that fix did work - but I'm not sure it's exactly the same problem.

    Cheers,
    Rob
      Yes, that helps building under ActivePerl/MinGW-5.1.4.1.ppd.
        Yes, that helps building under ActivePerl/MinGW-5.1.4.1.ppd

        Which begs the question "Why does it make a difference ?" (I don't know the answer.)

        Cheers,
        Rob
Re^3: Perl 5.10.1 RC1 released for testing
by syphilis (Archbishop) on Aug 08, 2009 at 13:23 UTC
    'C:\Program' is not recognized as an internal or external command, operable program or batch file.

    I expect that the problem here is that you've stuck gzip.exe in a path that contains a space (namely, the space between "Program" and "Files"). Efforts are often made to cater for that type of OS/user bug .... buggered if I know why :-)
    For mine, the correct thing to do is to simply not put *anything* in a location that contains white space.

    Cheers,
    Rob
      Cleaning up path isn't a bad idea
      use Env '@PATH'; my @short = map {Win32::GetShortPathName($_) } @PATH; print 'set path=', pop @short, "\n"; print "$_\n" for map { "set path=$_;%path%" } reverse @short; __END__ ... set path=C:\PROGRA~1\GNU\GnuPG;%path% set path=C:\PROGRA~1\gnuwin32\bin;%path% ...