-
Notifications
You must be signed in to change notification settings - Fork 248
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Properly escape MAKE's pathname, which includes spaces and parens by …
…default in GNUWin32. Close #485.
- Loading branch information
1 parent
48ff875
commit 3ffa38f
Showing
12 changed files
with
60 additions
and
62 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yuk. clearly a make platform specific problem. maybe report upstream?
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I expect that it hits a lot of GNUWin32 projects, but it really is the script's fault and not Make's fault. Path names should always be escaped properly and all that jazz.
We might need to install GNUWin32 at the same, awkward address in our
appveyor.yml
file to prevent this error from slipping back in.3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://www.gnu.org/software/make/manual/html_node/MAKE-Variable.html
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is definitely a cygwin problem. I've renamed my directory 'Program Files' under linux, and everything works.
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In yesterday's build, or after this fix?
I reproduced the problem on OS X with GNU Make 4.1 by copying it to "/tmp/foo bar/gmake" and running it from there. The bug triggered reliably under the old code.
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
before this fix.
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make -C db
make[1]: Entering directory '/home/md380/ttt/Program Files (X86)/db'
...
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GNU Make 4.1
Built for x86_64-pc-linux-gnu
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
error in make:
/tmp/Program\ Files\ (X86)/make clean
/tmp/Program Files (X86)/make -C patches/2.032 clean
/bin/sh: 1: Syntax error: "(" unexpected
Makefile:19: recipe for target 'mostlyclean' failed
make: *** [mostlyclean] Error 2
:(
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
http://savannah.gnu.org/bugs/?712
...
Sun 07 Jul 2002 05:24:17 PM UTC, comment #1:
...
I'll fix this for the next release.
...
3ffa38f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or not :)
the offending call:
21065 execve("/bin/sh", ["/bin/sh", "-c", "/tmp/Program Files (X86)/make -C patches/2.032 clean"], [/* 66 vars */]) = 0
fixable by installing cygwin with an escaped path.
bash -c '/tmp/Program\ Files\ (X86)/make -C patches/2.032 clean'