in reply to Re^2: Using CPAN
in thread Using CPAN

Got it. Am I correct that dmake is not the default make? That the makefile assumes make or nmake?

Replies are listed 'Best First'.
Re^4: Using CPAN
by syphilis (Archbishop) on Dec 02, 2013 at 11:28 UTC
    Am I correct that dmake is not the default make? That the makefile assumes make or nmake?

    It all depends upon $Config{make}. When the 'perl Makefile.PL' step of the module build is run, it will generate a Makefile suitable for whatever flavour of make is reported by $Config{make}. (Easy way to find out what $Config{make} returns is to run perl -V:make)
    The various flavours of make have slightly different rules of grammar - eg 'make' won't understand a Makefile that has been written for 'nmake'. You need to run the specific flavour of make for which the generated Makefile has been written.

    Cheers,
    Rob
Re^4: Using CPAN
by LloydRice (Beadle) on Dec 02, 2013 at 08:41 UTC

    I tried renaming the Watcom nmake. perl -MCPAN -eshell then loaded MinGW64-4.5.4, apparently successfully. But still there were a ton of errors when I tried install Imager.

      I'm not familiar with Watcom. Based on a Google search, I'm guessing that you're referring to Open Watcom.

      The primary two compiler's that I personally have heard of being used on Windows to compile Perl and Perl modules is Microsoft's Visual Studio and MinGW, but that's not to say other compilers couldn't be used.

      Regardless of which compiler you choose to go with, it (and its utilities, like make) must be compatible with the compiler used to compile your Perl installation. You said that you were using ActiveState's ActivePerl. If you're using the 32-bit version, you should use the PPM utility to install MinGW and dmake from ActiveState's repository. Those are guaranteed to work. If you're using the 64-bit version, I think there may be a few more steps and other things to be concerned about.

      If you want an alternative, here's my suggestions:

      • Try using the PPM utility to install from ActiveState's repository, which someone else has suggested a few times. That method does not involve you needing a compiler on your system.
      • Try Strawberry Perl, which comes with everything you need. They also have a portable version available.
      • I personally haven't used it, but I've seen others recommend Citrus Perl.

      By the way, is "MinGW64-4.5.4" the 64-bit version? If so, that may be another issue. In your OP stated that you're using "Win7 (x86)". Forgetting everything else, installing (or trying to install) any 64-bit application on a 32-bit OS isn't going to work.

        Yes, I was referring to Open Watcom. It's very possible that there are conflicts between that compiler and MS or MinGW. I just renamed 'make', but there could be other names in common. Perhaps I could try renaming the Watcom installed directory. But I do use that compiler frequently, so it's a bit of a hassle to kill it, even temporarily.

        I did try using PPM to install Imager. That produced the same errors as before.

        I was wrong in adding 'x86' to the machine spec. It is a 64-bit machine which, under Win7, can run either x86 (32-bit) or 64-bit code.

      What was wrong with ppm Imager?

        There were so many errors, they scrolled off of the command window, set to save a few hundred lines. When I tried redirecting the output using a gt sign, it only redirected a few lines from the final process.

Re^4: Using CPAN
by dasgar (Priest) on Dec 02, 2013 at 09:54 UTC

    By default, Windows does not come with a compiler or compiler tools. Microsoft's Visual Studio uses a make utility called nmake. I believe that the MinGW compiler uses a make utlity called dmake. In any case, the make utility that you need to use needs to be compatible with the compiler that you use. In the case of compiling Perl modules, you'll need to be using a compiler and make utility that is compatible with the compiler used compile your Perl installation.

        I again tried perl ppm Imager and this time, everything worked as expected. I'm off and running. Thanks to all.