GNU bug report logs - #12955
24.3.50; Build process on MS-Windows: sometimes needs "human intervention"

Previous Next

Package: emacs;

Reported by: Dani Moncayo <dmoncayo <at> gmail.com>

Date: Wed, 21 Nov 2012 20:52:01 UTC

Severity: normal

Found in version 24.3.50

Done: Dani Moncayo <dmoncayo <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 12955 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dani Moncayo <dmoncayo <at> gmail.com>
Cc: 12955 <at> debbugs.gnu.org
Subject: Re: bug#12955: 24.3.50;
	Build process on MS-Windows: sometimes needs "human intervention"
Date: Thu, 22 Nov 2012 05:41:27 +0200
> Date: Wed, 21 Nov 2012 21:49:53 +0100
> From: Dani Moncayo <dmoncayo <at> gmail.com>
> 
> Sometimes, when building the trunk on MS-Windows, the make process get
> stuck when this like of `src/makefile' is executed:
> 
>   cmd /c "fc /b gl-tmp globals.h >nul 2>&1 || $(CP) gl-tmp globals.h"
> 
> What happens is that a new cmd.exe session is open and waiting for
> input, when the expected behavior for that session is to execute the
> command between double quotes and exit.  So I have to copy&paste the
> command, execute it and exit the cmd session so that the build process
> can continue.
> 
> This problem is known to Eli, Juanma and those who build Emacs on
> Windows, and is related to MSYS and the translation it performs with
> filesystem paths ("/c" is translated to "c:\" for example).
> 
> If you have MSYS installed in your system, it is easy to reproduce the problem:
> 1. Open a cmd.exe console.
> 2. Run: sh  (to start a bash session).
> 3. Run: cmd /c "dir".
> 
> --> A new cmd session is created, it is waiting for input and the
> "dir" command has not been executed.
> 
> Fortunately, I just found a solution for this: just remove the space
> between the `/c' and the double quote:
> 3. Run: cmd /c"dir".
> 
> --> This time the cmd session executes the "dir" command and then
> ends, returning control to the bash session.

Sorry, I don't want to do this.  This might work now, but it does so
by pure luck, and might break in some future version of cmd, because
there _should_ be a space between /c and the command that follows.

The solution to this is simple: don't involve MSYS in building the
native port of Emacs.  It boils down to removing MSYS from PATH in the
shell window where you run the build scripts.




This bug report was last modified 12 years and 180 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.