chuckd has asked for the wisdom of the Perl Monks concerning the following question:

I'm having a problem installing a Perl module (IO::FILE). The module needed cl.exe to perform the nmake, but the module still needs something set that I don't know how to do. When I run the nmake on the module files I receive this error message: ##########################################################
C:\Perl\IO-1.2301>nmake
Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved.
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECU STOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"1.23\" -DXS_VERSION=\"1.23\" "-IC:\Perl\lib\CORE" IO.c
IO.c
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\windows.h(21) : fatal error C1083: Cannot open include file: 'sdkddkver.h': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2' Stop.
##########################################################
I already included "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include" as a env path in the environmental variables. Can anyone tell me what I need to do to get this working?
  • Comment on trouble installing Perl Module IO::FILE

Replies are listed 'Best First'.
Re: trouble installing Perl Module IO::FILE
by syphilis (Archbishop) on Nov 22, 2007 at 09:40 UTC
    Hi chuckd,

    You're using Visual Studio 9.0 ? I didn't even know such a beast existed.

    Do you actually have a header file called sdkddkver.h ? (If so, where is it located ?) None of the windows.h files that I have on my machines make any attempt to include such a file.

    Usually, with Visual Studio, there's a vcvars32.bat that one runs to set up the correct environment variables. Does Visual Studio 9.0 come with that file ? If so, does running that file solve anything for you.

    Bear in mind that ActivePerl (which I'm assuming, in the absence of contrary evidence, is what you're using) was built using Visual Studio 6.0 - and there's a potential for incompatibility problems if you start using Visual Studio 9.0 with ActivePerl. (Better, imo, to use MinGW with ActivePerl ... or use instead Strawberry Perl, which ships with the MinGW compiler.)

    If none of this helps, could you please provide the output of running perl -V .

    Cheers,
    Rob
      I'd guess it's the vs2008 beta.

      -David