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

I'm a rank beginner trying to load my first module and running into problems. I've read the tutorials, but I'm having no luck. I'm not a developer by any stretch but I've written some simple scripts that I'm pleased with, but now I want to take the next step and start using the libraries. Any help to get me get started will be appreciated.

I'm running Windows XP. I've downloaded strawberryperl 5.10.0 and nmake. When I enter the command "perl -V:make" it says I should be using dmake, but when I use that command it is not found.

Ultimately I'd like to get Net::SSH::Perl running - I've tried the CPAN installer, but that doesn't work for me yet - lots of errors I don't understand yet. I thought I'd try to get some of the modules loaded manually - once I get that working, I should be better prepared for the CPAN installer. So anyway, I downloaded one of the dependent modules I want (in this case Crypt::DH), unpack it and ran: perl makefile.pl (which ran okay), next I run nmake.exe and I get the error:

Missing right curly bracket at -e line 1, at end of line Execution of -e aborted due to compilation errors. NMAKE : fatal error U1077: 'C:\Windows\system32\cmd.exe' : return code + 0xff Stop.
I'm not sure what this error means. I haven't got to any of my code yet, so I don't think I should be going in and adding curly brackets to anything. Can any of y'all please let me know where I'm going astray?

Replies are listed 'Best First'.
Re: Errors manually loading modules
by Zenshai (Sexton) on Sep 03, 2008 at 01:20 UTC
    I do not know why you're getting that error, I use ActiveState Perl myself, and nmake works great with it.

    However, if you'd like to give dmake a try, you can find it here via this page See below.
Re: Errors manually loading modules
by Anonymous Monk on Sep 03, 2008 at 03:07 UTC
    I'm running Windows XP. I've downloaded strawberryperl 5.10.0 and nmake. When I enter the command "perl -V:make" it says I should be using dmake, but when I use that command it is not found.

    Strawberryperl doesn't require nmake, as it comes with dmake. If that command is not found, then you haven't installed strawberry perl correctly (may need to reboot, or just set path=C:\strawberry\perl\bin\;C:\strawberry\c\bin;%path%;).

Re: Errors manually loading modules
by syphilis (Archbishop) on Sep 03, 2008 at 06:30 UTC
    I'm not sure what this error means

    It means that 'nmake' finds the makefile (that was generated by running perl Makefile.PL) to be unparseable. This happens because the generated makefile was actually created for 'dmake' to use - and both 'dmake' and 'nmake' have slightly different rules regarding what a valid makefile should look like.

    The reason that the generated makefile is written for 'dmake' is that $Config{make} is set to 'dmake'. (You can check that by running perl -V:make.) If you really wanted to, you could use 'nmake' with strawberry perl by opening up C:/strawberry/perl/lib/Config_heavy.pl and changing the line make='dmake' to make='nmake'. That would then reset $Config{make} to 'nmake', and the generated makefiles would be written using the rules that 'nmake' understand.

    But ... it's probably just simpler to use 'dmake'. There's no advantage to be gained by using 'nmake'.

    Cheers,
    Rob
      Thanks for the replies - I'll post again in a few minutes with my results...