http://www.perlmonks.org?node_id=952122

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

Hi all, I have a CGI script running on a web server that works fine, until I add the Archive::Extract module. Then I get this error in the browser when loading the script:
dmake could not be found on the PATH. Please invoke it using the full +pathname: C:\Perl\site\bin\dmake.exe or put the Perl\site\bin directory on the PATH with: path C:\Perl\site\bin;%PATH%

C:\Perl\site\bin\dmake.exe is indeed in my path (first thing, in fact). Any idea what's causing this problem? I also have Archive::Zip which isn't causing the problem. Here's the top of my script:

#! /Perl/bin/perl use CGI; use CGI::Pretty; use CGI::Carp qw( fatalsToBrowser ); use POSIX; use File::Basename; use File::Copy; use File::Path; use File::Find; use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); use Archive::Extract;

thanks

Replies are listed 'Best First'.
Re: dmake not found
by syphilis (Archbishop) on Feb 06, 2012 at 17:53 UTC
    C:\Perl\site\bin\dmake.exe is indeed in my path

    It's not C:\Perl\site\bin\dmake.exe that needs to be in your path - you need C:\Perl\site\bin instead. (Maybe that's already the case ... it's a little unclear.)

    Cheers,
    Rob
      Yes, I meant c:\perl\site\bin, thanks.
Re: dmake not found
by ikegami (Patriarch) on Feb 06, 2012 at 18:31 UTC

    Do you actually have a file named C:\Perl\site\bin\dmake.exe?

    Is the directory in which it resides accessible by the user as which the web browser executes?

    Is it executable by the user as which the web browser executes?

    Is C:\Perl\site\bin in the web server's path?

    It's very odd that make is required at run-time, but I'm not familiar with the module in question and its dependencies.

      Yes there is a file called C:\Perl\site\bin\dmake.exe.

      I don't know the answer to your next two question. I installed ActivePerl and didn't change anything.

      C:\Perl\site\bin is in the system path on Windows XP; don't know about the web server's path. How can I check that?

      thank you.

        don't know about the web server's path. How can I check that?

        Upload a cgi script to the web server that outputs $ENV{PATH} and then run it.

        But, as others have mentioned, it seems very strange that anything should want to find dmake.

        Cheers,
        Rob
Re: dmake not found
by Anonymous Monk on Feb 06, 2012 at 17:59 UTC
    Archive::Extract does not require make at run-time, so I find this error very odd.

    How did you add Archive::Extract? Give a precise description.

      > How did you add Archive::Extract? Give a precise description.

      I ran ppm, selected it from the list and ran the install.

      I wonder if I should reinstall it from another repository.

      thanks

Re: dmake not found
by Anonymous Monk on Apr 18, 2013 at 21:50 UTC
    For me the problem disappeared, when I renamed C:\Perl64\site\bin\dmake.exe to C:\Perl64\site\bin\dmake.exe_ I don't want to have C:\Perl64\site\bin in my path... Could it be, that the dmake.exe was installed, when I tried to install the Template module directly from cpan?