I finished building it earlier this afternoon. The key is that the MS .NET SDK insists on installing some files onto the system drive, even if you change the default installation drive.
It took longer to satisfy nmake than it did to build! I took a few quick notes as I installed. Here's a quick recipe:
- Install MSVC free compiler
- Install the Platform SDK from:
- Download and install .NET SDK in order to satisfy msvcrt.lib requirement.
Note: The .NET SDK installs files into two directories: one is user configurable and one isn't. I used "D:\Program Files\Microsoft Visual Studio .NET 2003", but the installer installed "lib" and "inc" into "C:\Program Files\Microsoft Visual Studio .NET 2003"
- Edit win32/Makefile - (patch inside the readmore)
< INST_DRV = c:
< INST_TOP = $(INST_DRV)\perl
> INST_DRV = d:
> INST_TOP = $(INST_DRV)\perl5.9.1
< CCTYPE = MSVC60
> #CCTYPE = MSVC60 #get rid of vc 6 specific stuff
< #CCHOME = f:\msvc20
< CCHOME = $(MSVCDIR)
> CCHOME = d:\program files\microsoft visual c++ toolki
> #CCHOME = $(MSVCDIR)
< CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOC
> CFLAGS = -nologo -GF -W3 $(INCLUDES) $(DEFINES) $(LOC
< perlglob$(o) setargv$(o)
- Fire up command prompt using Platform SDK shortcut
- run vcvars32.bat from compiler installation
- set LIB=%LIB%;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib (In order to satisfy msvcrt req.)
- path=%PATH%;PATH_TO_SDK\Bin\Win64 (at the END of existing path, required for resource converter)
- unpack perl source and cd PATH_TO_UNPACKED_PERL\win32
- nmake test # all tests passed - except skipped tests, of course
- nmake install
Fresh, steamin' hot perl 5.9.1, ready to enjoy!
I'll try to replicate the build with bleadperl over the next couple of days and post any fixes or corrections.
Update: corrected LIB path (added Vc7\lib to LIB, see #7 above)
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link
or How to display code and escape characters
are good places to start.