make-w32
[Top][All Lists]
Advanced

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

Re: WINDOWS32 "Signal 127" due to a path in quotes bug


From: Eli Zaretskii
Subject: Re: WINDOWS32 "Signal 127" due to a path in quotes bug
Date: Sat, 30 Jul 2005 19:42:50 +0300

> Date: Sat, 30 Jul 2005 15:31:43 +0100
> From: "J. Grant" <address@hidden>
> 
> I could not replicate the "Signal 127" message, I could replicate "Error
> 127", maybe the different win32 build options effect this in a way that
> it is incorrectly named as a "Signal" 127 error.

All I can say is that I cannot reproduce even the "Error 127" message
with the MinGW build of GNU Make 3.81 beta3.  I get "Error 2", which
is entirely reasonable (it's the Windows code for "file not found").

> I attatch a test case which replicates "Error 127", what I wonder is why
> CreateProcess() is used to swpawn in the first case, and /bin/sh is used
> in the 2nd case?

Because in the first case, Make tries to run the command without
invoking the shell, while in the second case, the quotes present in
the rule's command prevent it from doing so

Make invokes the shell only when it sees special characters in the
command.

> #$ make -f makefile_Error_127.test -j8
> #c:/working_test_without_quotes.exe blar
> #"c:/quote_path.exe" blar
> #process_begin: CreateProcess((null), c:/working_test_without_quotes.exe 
> blar, ...) failed.
> #make (e=2): The system cannot find the file specified.
> #make: *** [test1] Error 2
> #make: *** Waiting for unfinished jobs....
> #/bin/sh: c:/quote_path.exe: No such file or directory
> #make: *** [test2] Error 127

Note that only the second test causes the "error 127" thing.  So I
submit that this error code comes from the ported shell that you use
(what port of which shell is that, btw?).  In other words, it's not a
Make issue, it's an issue with your port of sh: it returns 127 when it
fails to run this command.  The shell I use (a port of zsh) returns 1
in that case, which is what I'd expect.




reply via email to

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