bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: win32 compilation of make 4.0 source code‏


From: Eli Zaretskii
Subject: Re: win32 compilation of make 4.0 source code‏
Date: Sun, 02 Feb 2014 18:09:02 +0200

> From: Paul Smith <address@hidden>
> Cc: Mark Brown <address@hidden>, address@hidden
> Date: Sun, 02 Feb 2014 10:28:01 -0500
> 
> On Tue, 2014-01-14 at 18:02 +0200, Eli Zaretskii wrote:
> > > ===================================================
> > > process_begin: CreateProcess(NULL, uname, ...) failed.
> > > make:
> > > process_begin: CreateProcess(NULL, uname -a, ...) failed.
> > > make:
> > > process_begin: CreateProcess(NULL, cygpath C:\zzz_13.12.1_gener
> > > make:
> > > process_begin: CreateProcess(NULL, pwd, ...) failed.
> > > make:
> > > process_begin: CreateProcess(NULL, basename "", ...) failed.
> > > make:
> > > process_begin: CreateProcess(NULL, pwd, ...) failed.
> > > make:
> > > process_begin: CreateProcess(NULL, basename "", ...) failed.
> > 
> > Do you have uname.exe, cygpath.exe, pwd.exe, and basename.exe
> > somewhere on your PATH?  If not, that's the reason for those failures:
> > Make looks for these programs, but cannot find them.
> 
> Is it possible for the code to understand more about why CreateProcess()
> failed, and provide a simpler, more informative error message here,
> especially for common problems such as not being able to locate a
> program to start?

We already do, it's just that this part was elided.  For example:

  D:\usr\eli\data>make -f-
  all:
          xyzzy-foobar
  ^Z
  xyzzy-foobar
  process_begin: CreateProcess(NULL, xyzzy-foobar, ...) failed.
  make (e=2): The system cannot find the file specified. <<<<<<<<<<<<<<
  D:/usr/tmp/Gma07404:2: recipe for target 'all' failed
  make: *** [all] Error 2

Note the line I marked -- this is the system-generated error code and
its corresponding message.

> At the very least I don't think it's a good idea to print out internal
> function names like process_begin() or CreateProcess(), unless this
> error is really some kind of internal state error that the user should
> never encounter, regardless of her environment.  Also it would be good
> if these messages looked as much like the other make errors as possible.
> If this code could use the standard error reporting functions in
> output.c, that would be ideal (so that if/when we get output sync for
> Windows, they're managed properly).

Patches are welcome.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]