Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^4: Compile PERL from source on Windows

by MGoBlue (Novice)
on Mar 21, 2013 at 15:36 UTC ( [id://1024771]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Compile PERL from source on Windows
in thread Compile PERL from source on Windows

Thanks for the reply... here's the info as requested:

1) http://www.cpan.org/src/5.0/perl-5.16.3.tar.gz

2) It's on my scratchpad. http://perlmonks.org/index.pl?node_id=1022869 In the first "section"

3) It's on my scratchpad. http://perlmonks.org/index.pl?node_id=1022869 In the second "section"; below the makefile contents. I didn't post the whole thing. Just the leadup to the failure.

Regarding archiving, I've tried to unpack the source with both WinZip and the unzip I have loaded from cygwin:

$ unzip -v

UnZip 6.00 of 20 April 2009, by Cygwin. Original by Info-ZIP.

Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ; see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.

Compiled with gcc 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) for Unix (Cygwin) on Aug 4 2009.

UnZip special compilation options: ASM_CRC COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported) SET_DIR_ATTRIB SYMLINKS (symbolic links supported, if RTL and file system permit) TIMESTAMP UNIXBACKUP USE_EF_UT_TIME USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported) USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported) UNICODE_SUPPORT char coding: UTF-8 (handle UTF-8 paths) MBCS-support (multibyte character support, MB_CUR_MAX = 6) LARGE_FILE_SUPPORT (large files over 2 GiB supported) ZIP64_SUPPORT (archives using Zip64 for large files supported) USE_BZIP2 (PKZIP 4.6+, using bzip2 lib version 1.0.5, 10-Dec-2007) VMS_TEXT_CONV WILD_STOP_AT_DIR decryption, version 2.11 of 05 Jan 2007

UnZip and ZipInfo environment options: UNZIP: none UNZIPOPT: none ZIPINFO: none ZIPINFOOPT: none

Both programs used to extract tarball have given me the same results.

Thanks again for your help!

Replies are listed 'Best First'.
Re^5: Compile PERL from source on Windows
by syphilis (Archbishop) on Mar 22, 2013 at 07:34 UTC
    OK - I've got the same source as you, but still can't reproduce the problem.

    Do you have 64-bit Windows, or 32-bit Windows ?
    Is your compiler 64-bit or 32-bit ?

    First thing is to concentrate on the contents of pod/perldelta.pod. Does line 5 of that file contain:
    perldelta - what is new for perl v5.16.3
    It should. Specifically, for me that file begins with:
    =encoding utf8 =head1 NAME perldelta - what is new for perl v5.16.3 =head1 DESCRIPTION
    If that part's ok then we probably switch our attention to Porting/pod_lib.pl and insert some warn statements just prior to line 117 of that file - that will help us establish the reason that the failure occurs.

    Cheers,
    Rob
      Thanks Rob!

      I'm on 32 bit XP right now. I originally tried this on a 64 bit Win 7 -- with either archecture, I get the same error though. At least I'm consistent.

      my preldelta matches. It should. I didn't modify it.

      =encoding utf8 =head1 NAME perldelta - what is new for perl v5.16.3 =head1 DESCRIPTION

      I did try to see what is in $contents and nothing was there. If I modify pod_lib.pl like so:

      open Fpod, $filename or die "Can't read $filename: $!"; local $/; my $filepod = <Fpod>; close Fpod; my $contents = $filepod;

      then that gets me past the original problem of "Can't extract version from pod/perldelta.pod"... that is fixed from the code snip just above.

      However, with using that code snippet, it now throws another error later down in pod_lib.pl. At this point, I have an uneasy feeling about chasing modifications to pod_lib code when it has worked for others out of the box.

      Thanks!

        I did try to see what is in $contents and nothing was there.

        Do you have a functioning perl already built on your machine ? If you do, try running the following script. (In that script you'll first need to change $filename to point to the full path to pod/perldelta.pod on your machine.)
        ## script.pl ## use warnings; use strict; my $filename = 'C:/comp/perl-5.16.3/pod/perldelta.pod'; open RD, '<', $filename or die "Can't read: $!"; my @c = <RD>; my $contents = join '', @c; close RD or die "Can't close: $!"; my @want = $contents =~ /perldelta - what is new for perl v(5)\.(\d+)\.(\ +d+)\n/; die "Can't extract version from $filename" unless @want; print "\n@want\n";
        That script should reveal that @want contains (5, 16,3). Is that what you get ?

        Then try running the same script using the perl that you've just built with your compiler. (That perl is located in the top level source folder - ie one level up from the win32 folder.)

        To do that, cd to that top level source folder and run perl /full/path/to/above/script.pl.
        How does that fare ?
        (While you're in that folder, you might also like to check the output of perl -V just to verify that the perl that's being run is, in fact, the one that you've just built. The @INC listing at the end should *not* contain a site/lib directory, and the first directory listed should be in your source tree. )

        Sorry - out of time for tonight, but I can pick this up again tomorrow morning if need be.

        Cheers,
        Rob

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2024-03-19 03:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found