Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Compile PERL from source on Windows

by MGoBlue (Novice)
on Mar 11, 2013 at 21:15 UTC ( #1022874=perlquestion: print w/ replies, xml ) Need Help??
MGoBlue has asked for the wisdom of the Perl Monks concerning the following question:

Hello All:

I hope I followed all the rules (http://perlmonks.org/index.pl?node_id=237057, etc.)

I'm trying to compile PERL from source on a Windows box. I'm using XP SP3, Perl 5.16.2, and Visual C++ 2010.

nmake runs without more than a couple of nags for deprecated methods and such -- nothing fatal.

When it comes to nmake test, it keeps failing with this:

Can't extract version from pod/perldelta.pod at Porting/pod_lib.pl lin +e 117. NMAKE : fatal error U1077: '..\perl.exe' : return code '0xff' Stop.

I did notice that there wasn't a perldelta.pod in the tar ball. There are however a ton of perl[version number]delta.pod files. e.g., perl5162delta.pod

I copied the perl5162delta.pod file and renamed it to perldelta.pod. Re-running nmake fails on test again.

Line 117 is straight forward: $contents =~ /perldelta - what is new for perl v(5)\.(\d+)\.(\d+)\n/;

What doesn't appear to be straight forward to me is why the 16, 2 isn't getting passed to this call and thus causing a fatal error.

I hope I've asked a decently worded question... just stuck here that's all. Any suggestions regarding compiling this from source would be greatly appreciated.

Thanks!

Comment on Compile PERL from source on Windows
Select or Download Code
Re: Compile PERL from source on Windows
by BrowserUk (Pope) on Mar 11, 2013 at 21:48 UTC
    When it comes to nmake test, it keeps failing with this:

    Two thoughts:

    1. This is test code that is failing -- as opposed to the code being tested failing -- so comment out the test and move on.
    2. Looking at CPAN there is a 5.16.3 available; maybe the problem was noticed early and fixed; so get the later version and try again.
    I did notice that there wasn't a perldelta.pod in the tar ball.

    Even more reason to go with 2) above. You are wasting your time trying to fix a broken tarball when there is a later version that probably fixes it for you.


    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.
        I agree, perldelta.pod comes with the tarball; it isn't generated automatically. Something is wrong with the tarball or an incomplete extraction if that file is missing.

        The OP says it is missing, I cannot examine his filesystem.

        Seems unlikely that a broken download would result in a good compile and a single missing file; but maybe he looked in the wrong place.


        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.
      Okay... I'll try with .13. A little swamped at the office today though.
        I meant 16.3... oops
Re: Compile PERL from source on Windows
by syphilis (Canon) on Mar 11, 2013 at 22:37 UTC
    At what stage of 'nmake test' does the error occur ?
    I've just tried out 5.16.2, using MSVC++ 7.1 and couldn't reproduce the error - though the test suite hangs for me at:
    ../cpan/CPANPLUS/t/19_CPANPLUS-Dist.t ............................. 32 +/?
    I build perl from source quite a bit, and the 32-bit builds usually hang at some point during the running of the tests. (This has been going on for so long that I don't care any more - I just install and be done with it.)

    From where did you obtain the perl-5.16.2 source ?
    In the Makefile, you are expected to specify whether you're using the free version or the full version of 2010. Did you get that part right ? (Even if you didn't, it seems unlikely to me that would cause the error you're seeing.)

    Can you google up any fail reports that are similar to yours ?

    Cheers,
    Rob
      Thanks for the reply Rob...

      Per previous suggestions, I went and got 5.16.3. Getting the same error but I'm not missing any files. I must have overlooked it previously.

      Yep, I set up the CCTYPE in the makefile correctly.

      I tried Googling before I posted here.

      At any rate, commenting out the test suite is no beuno as it will fail nmake install in the same spot. Both nmake test and nmake install fail in the same spot:

      Can't extract version from pod/perldelta.pod at Porting/pod_lib.pl line 117. NMAKE : fatal error U1077: '..\perl.exe' : return code '0xff' Stop.

      If you build from source regularly, do you mind sharing the secret sauce?

      Thanks!

        If you build from source regularly, do you mind sharing the secret sauce?

        There is no secret sauce.

        Look at Porting/pod_lib.pl

        Look at pod/perldelta.pod

        Compare what you have to what is online http://search.cpan.org/dist/perl-5.16.2/MANIFEST

        my @want = $contents =~ /perldelta - what is new for perl v(5)\.(\d+)\.(\ +d+)\n/; die "Can't extract version from $filename" unless @want;

        perldelta - what is new for perl v5.16.2

        There is no way for that to fail, unless perldelta is empty

        Why is your perldelta empty?

        Three things that would make the task easier:

        1) Post the link to the actual source tarball that you downloaded. This will enable me (or anyone else who is interested) to ensure that we have the same source;

        2) Post, on your public scratchpad the contents of the win32/Makefile (after you've edited it). This allows us to see for ourselves that it looks sane;

        3) Post a larger slice (or the entire lot) of the 'nmake test' output (again, on your public scratchpad). I'd like a better idea of precisely when this failure occurs ... and I'd also like to be sure there's nothing relevant in the lead up to the error.
        The error is occurring before *any* tests are run ... right ?

        Hopefully then we can work out what's going wrong.

        With what do you unpack the source ? If it's a GUI app (such as Winzip) try to make sure that it's unpacking the source in "binary" (not "text" or "smart" or somesuch) mode.

        Cheers,
        Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1022874]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (6)
As of 2014-09-18 02:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (105 votes), past polls