Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

perl 5.14.0-RC1 is available for testing!

by Tux (Canon)
on Apr 20, 2011 at 12:31 UTC ( #900327=perlnews: print w/replies, xml ) Need Help??

On behalf of the perl5 porters, ...

UPDATE: as not all porters follow PerlMonks, and I am no Windows expert, nor do I hope to become one, please post FAIL reports to perl5-porters@perl.org where they get a higher number of qualified eyes. Thanks.


But then Australia is such a difficult country to keep track of. On my first visit, some years ago, I passed the time on the long flight reading a history of Australian politics in the twentieth century, wherein I encountered the startling fact that in 1967 the prime minister, Harold Holt, was strolling along a beach in Victoria when he plunged into the surf and vanished. No trace of the poor man was ever seen again. This seemed doubly astounding to me—first that Australia could just _lose_ a prime minister (I mean, come on) and second that news of this had never reached me.

-- Bill Bryson, /In a Sunburned Country/

I've just uploaded the first release candidate for Perl 5.14.0 to PAUSE. Shortly, you'll find it at:

http://search.cpan.org/dist/perl-5.14.0-RC1/

SHA1 sums for this release are:

643d688909723aaedbaef67301779331b3d51381 perl-5.14.0-RC1.tar.bz2 ed6be1b0f09af7542df369af254b629dbf5a8b5c perl-5.14.0-RC1.tar.gz

While we go to lengths to ensure that new versions of Perl don't break existing programs, it does happen. It's really, really important that we catch unintentional breakage BEFORE we release Perl 5.14.0. It is imperative that you test this release candidate with any software written in Perl which you use or maintain.
Similarly, we test Perl on a variety of operating systems on a number of platforms with several different compilers. If you're not 100% certain that we're testing yours, NOW is the time to make sure that Perl 5.14.0 builds and passes its tests on your platform.
If no "showstopper" class bugs are found in the next 7 days, we will release a virtually identical tarball as Perl 5.14.0 on Thursday, April 28, 2011.

Best,

Jesse


Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re: perl 5.14.0-RC1 is available for testing!
by FunkyMonk (Chancellor) on Apr 20, 2011 at 13:39 UTC
Re: perl 5.14.0-RC1 is available for testing!
by BrowserUk (Patriarch) on Apr 21, 2011 at 13:27 UTC

    If anyone is taking notes, RC1 appears to build reasonably cleanly using MSVC9 64-bit. From what I remember, the noted test failures are all 'normal' for Windows builds. More info if required.

    Test Summary Report ------------------- comp/multiline.t (Wstat +: 0 Tests: 6 Failed: 2) Failed tests: 5-6 io/dup.t (Wstat +: 0 Tests: 23 Failed: 0) Parse errors: Tests out of sequence. Found (8) but expected (2) Tests out of sequence. Found (9) but expected (3) Tests out of sequence. Found (10) but expected (4) Tests out of sequence. Found (11) but expected (5) Tests out of sequence. Found (12) but expected (6) Displayed the first 5 of 23 TAP syntax errors. Re-run prove with the -p option to see them all. ../cpan/CPANPLUS/t/04_CPANPLUS-Module.t (Wstat +: 256 Tests: 124 Failed: 1) Failed test: 109 Non-zero exit status: 1 ../cpan/CPANPLUS/t/20_CPANPLUS-Dist-MM.t (Wstat +: 512 Tests: 43 Failed: 8) Failed tests: 11-14, 16-18, 42 Non-zero exit status: 2 ../dist/IO/t/io_dup.t (Wstat +: 0 Tests: 2 Failed: 0) Parse errors: Tests out of sequence. Found (6) but expected (2) Bad plan. You planned 6 tests but ran 2. Files=2092, Tests=463208, 1892 wallclock secs (83.93 usr + 11.14 sys = + 95.07 CPU) Result: FAIL NMAKE : fatal error U1077: '..\perl.exe' : return code '0xb' Stop.

    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.
Re: perl 5.14.0-RC1 is available for testing!
by Anonymous Monk on Apr 21, 2011 at 04:48 UTC
    Mostly runs ok

    I built perl with gcc 4.5.2, but forgot to add

    CFLAGS=-static-libgcc
    , so perl.exe/perl514.dll needs libgcc_s_dw2-1.dll, but op/taint modifies $ENV{PATH} so when it uses $Invoke_Perl, it can't find libgcc_s_dw2-1.dll

    No clue about porting/buildtoc.t

    ../cpan/Win32/t/Names.t assumes LoginName is longer than one character, win32 doesn't impose such a limit, don't see why a test would :)

    No clue about ../cpan/podlators/t/text-encoding.t, it seems to work outside core

    As for ../cpan/Module-Build/t/ppm.t, typical win32 nonsense

    ... t/ppm.t: error opening directory D: No such file or directory
    but frankly I don't let Module::Build make docs for me, I don't have any docs at all :)

    Here is how I compiled v5.14.0-RC1

      perl.exe/perl514.dll needs libgcc_s_dw2-1.dll, but op/taint modifies $ENV{PATH} so when it uses $Invoke_Perl, it can't find libgcc_s_dw2-1.dll

      This section of makefile.mk is supposed to deal with that issue:
      # # If building with gcc-4.x.x (or x86_64-w64-mingw32-gcc-4.x.x), then # uncomment the following assignment to GCC_4XX, make sure that CCHOM +E # has been set correctly above, and uncomment the appropriate # GCCHELPERDLL line. # The name of the dll can change, depending upon which vendor has supp +lied # your 4.x.x compiler, and upon the values of "x". # (The dll will be in your mingw/bin folder, so check there if you're # unsure about the correct name.) # Without these corrections, the op/taint.t test script will fail. # #GCC_4XX *= define #GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_sjlj-1.dll #GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_dw2-1.dll #GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_1.dll
      Not sure how that fits in with your method of building. I've only ever built perl with gcc by running dmake -f makefile.mk

      With my mingw port of gcc-3.4.5 I'm finding that porting/buildtoc.t fails test 2. All other tests pass.
      With my mingw64 port of gcc-4.6.0, I'm finding that the tests hang when 19_CPANPLUS-Dist.t is run, so I don't get to find out what failures there are.

      Cheers,
      Rob
        AHA, typical dumb makefile and I forgot to grep :)

        That makefile is really really unreadable (someone should indent it, rewrite it)

        I shouldn't need to know anything about this :) The GCC_4XX way should be automatic one way or another, something like

        .IF "$(CCTYPE)" == "GCC" GCC_VERSION *= $(shell gcc -dumpversion) GCC_MAJOR_VERSION *= $(GCC_VERSION:b:b) .IF "$(GCC_MAJOR_VERSION)" == "4" GCC_4XX *= define .ENDIF .ENDIF
        Or my way (untested)
        .IF "$(CCTYPE)" == "GCC" GCC_VERSION *= $(shell gcc -dumpversion) GCC_MAJOR_VERSION *= $(GCC_VERSION:b:b) .IF "$(GCC_MAJOR_VERSION)" == "4" CFLAGS +=-static-libgcc LIBC += -static-libgcc .ENDIF .ENDIF
        Checking my make commands, a test makefile.mk
        CCTYPE *= GCC .IF "$(CCTYPE)" == "GCC" GCC_VERSION *= $(shell gcc -dumpversion) GCC_MAJOR_VERSION *= $(GCC_VERSION:b:b) .IF "$(GCC_MAJOR_VERSION)" == "4" CFLAGS += -static-libgcc LIBC += -static-libgcc GCC_4XX *= define .ENDIF .ENDIF __echo_GCC: @echo GCC_VERSION $(GCC_VERSION) @echo GCC_MAJOR_VERSION $(GCC_MAJOR_VERSION) @echo GCC_4XX $(GCC_4XX) @echo CFLAGS $(CFLAGS) @echo LIBC $(LIBC) $(NOOP)
        how it runs (output)
        $ dmake -f makefile.mk dmake: Executing shell macro: gcc -dumpversion dmake: Executing shell macro: gcc -dumpversion GCC_VERSION 4.5.2 dmake: Executing shell macro: gcc -dumpversion GCC_MAJOR_VERSION 4 GCC_4XX define CFLAGS -static-libgcc LIBC -static-libgcc

        Not sure how that fits in with your method of building. I've only ever built perl with gcc by running dmake -f makefile.mk

        Yup, thats what I do, the -f makefile.mk isn't mandatory since that is the default

      Now I use -static-libgcc AND -static-libstdc++, don't even have to think about op/taint.t and that GCC_4XX stuff :)
      perl -pi.orig -e " s!^(LINK_FLAGS\s*=)!$1 -static-libgcc -static-libst +dc++ !" win32/Makefile win32/makefile.mk
        Now I use -static-libgcc AND -static-libstdc++, don't even have to think about op/taint.t and that GCC_4XX stuff

        Nor do you have to think about them with perl-5.15 or higher .... even if you *don't* do the "-static" thing :-)

        Cheers,
        Rob
Re: perl 5.14.0-RC1 is available for testing!
by Anonymous Monk on May 01, 2011 at 23:21 UTC
    Ok, I found another one, though I'm not quite sure what the problem is
    $ perl -e "print pack 'Q',1" Invalid type 'Q' in pack at -e line 1.
    In perl\win32\config.h I have
    /* HAS_QUAD: * This symbol, if defined, tells that there's a 64-bit integer typ +e, * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be +one * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT6 +4_T. */ #define HAS_QUAD /**/ #ifdef HAS_QUAD # define Quad_t long long /**/ # define Uquad_t unsigned long long /**/ # define QUADKIND 3 /**/ # define QUAD_IS_INT 1 # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 # define QUAD_IS_INT64_T 4 #endif
    And it seems to have made it into Config
    $ perl "-V:.*?quad.*?" d_quad='define'; quadkind='3'; quadtype='long long'; uquadtype='unsigned long long';
    So q/Q for pack/unpack should work, right?

      I cannot reproduce you finding here on 5.14 built for Vista 64-bit:

      C:\test\perl-5.14.0-RC1>.\perl -V Summary of my perl5 (revision 5 version 14 subversion 0) configuration +: Platform: osname=MSWin32, osvers=6.0, archname=MSWin32-x64-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=und +ef use64bitint=define, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -fp:pr +ecise - optimize='-MD -Zi -DNDEBUG -Ox -GL -fp:precise', cppflags='-DWIN32' ccversion='15.00.21022.08', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, Off_t='__in +t64', l alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -lt +cg -li libpth=\lib libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib +comdlg3 perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.l +ib com libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl514.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt: +ref,icf Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB +_ALLOC USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF Locally applied patches: RC1 Built under MSWin32 Compiled at Apr 21 2011 08:07:59 @INC: C:/test/perl-5.14.0-RC1/lib . C:\test\perl-5.14.0-RC1>.\perl.exe -E"print pack 'Q', 1 " ☺ C:\test\perl-5.14.0-RC1>.\perl.exe -E"print length pack 'Q', 1 " 8

      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.
      So q/Q for pack/unpack should work, right?

      On the basis of what you've shown us, that is right.
      What's your full perl -V output ?

      Cheers,
      Rob
        Difference from BrowserUks -V is presence of use64bitint=define, but HAVE_QUAD doesn't appear to depend on it.

        The other difference is I'm using gcc on 32bit OS, but I have 64-bit processor, but I think it should still work :)

        I'm recompiling now, will update with full -V.

        update:

        update: well, use64bitint=define seems to make Q/q available, and the simple test matches BrowserUks results.

        update: hmm, it compiles, Q/q is available, but some failing tests, awww :)

        And the other new test failures Oh well :) Thanks

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2023-11-30 21:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?