[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.