From unknown Sun Jun 22 07:47:01 2025 X-Loop: help-debbugs@gnu.org Subject: bug#11578: 24.1.50; Can't 'make install' on Windows Resent-From: Kazuhiro Ito Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 May 2012 14:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 11578 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 11578@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.133830035820989 (code B ref -1); Tue, 29 May 2012 14:06:02 +0000 Received: (at submit) by debbugs.gnu.org; 29 May 2012 14:05:58 +0000 Received: from localhost ([127.0.0.1]:48402 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SZN3e-0005SU-G1 for submit@debbugs.gnu.org; Tue, 29 May 2012 10:05:58 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42471) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SZN3J-0005Rz-E8 for submit@debbugs.gnu.org; Tue, 29 May 2012 10:05:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SZN1m-00005I-Pf for submit@debbugs.gnu.org; Tue, 29 May 2012 10:04:08 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:44737) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SZN1m-00005D-MH for submit@debbugs.gnu.org; Tue, 29 May 2012 10:04:02 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42613) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SZN1h-0002yC-9a for bug-gnu-emacs@gnu.org; Tue, 29 May 2012 10:04:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SZN1c-0008SC-0i for bug-gnu-emacs@gnu.org; Tue, 29 May 2012 10:03:56 -0400 Received: from msa103.auone-net.jp ([61.117.18.163]:36094) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SZN1b-0008PK-LE for bug-gnu-emacs@gnu.org; Tue, 29 May 2012 10:03:51 -0400 Received: from GUNGNIR.med.osaka-cu.ac.jp (121-87-85-189f1.nar1.eonet.ne.jp [121.87.85.189]) by msa103.auone-net.jp (au one net msa) with ESMTP id 03EA134803A; Tue, 29 May 2012 23:03:41 +0900 (JST) Date: Tue, 29 May 2012 23:03:37 +0900 From: Kazuhiro Ito User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?UTF-8?Q?Goj=C5=8D?=) APEL/10.8 EasyPG/1.0.0 Emacs/24.1.50 (i386-mingw-nt6.1.7601) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Message-Id: <20120529140342.03EA134803A@msa103.auone-net.jp> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.2 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.2 (------) When I run configure.bat with --prefix option, 'make install' with MinGW fails. > make: Circular D:/bin/emacs_trunk <- D:/bin/emacs_trunk dependency dropped. > make -C ../lib-src install > [Please ignore a syntax error on the next line - it is intentional] > /bin/sh: -c: line 0: unexpected EOF while looking for matching `"' > /bin/sh: -c: line 1: syntax error: unexpected end of file > make[1]: Entering directory `/f/build/emacs-trunk/lib-src' > mkdir "D:/bin/emacs_trunk /bin" > mkdir: cannot create directory `D:/bin/emacs_trunk /bin': No such file or directory > make[1]: [install] Error 1 (ignored) > cp -f oo-spd/i386/etags.exe D:/bin/emacs_trunk /bin > cp: omitting directory `D:/bin/emacs_trunk' > make[1]: *** [install] Error 1 > make[1]: Leaving directory `/f/build/emacs-trunk/lib-src' > make: *** [install-other-dirs-gmake] Error 2 In the above, 'D:/bin/emacs_trunk' is argument of --prefix option. It seems that makefile.w32-in does not assume INSTALL_DIR has trailing space. -- Kazuhiro Ito From unknown Sun Jun 22 07:47:01 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Kazuhiro Ito Subject: bug#11578: closed (Re: bug#11578: 24.1.50; Can't 'make install' on Windows) Message-ID: References: <837gvv2d5i.fsf@gnu.org> <20120529140342.03EA134803A@msa103.auone-net.jp> X-Gnu-PR-Message: they-closed 11578 X-Gnu-PR-Package: emacs Reply-To: 11578@debbugs.gnu.org Date: Tue, 29 May 2012 16:00:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1338307203-31172-1" This is a multi-part message in MIME format... ------------=_1338307203-31172-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #11578: 24.1.50; Can't 'make install' on Windows which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 11578@debbugs.gnu.org. --=20 11578: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D11578 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1338307203-31172-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 11578-done) by debbugs.gnu.org; 29 May 2012 15:59:14 +0000 Received: from localhost ([127.0.0.1]:48579 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SZOpF-00085W-Hx for submit@debbugs.gnu.org; Tue, 29 May 2012 11:59:14 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:62984) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SZOou-00084k-RX for 11578-done@debbugs.gnu.org; Tue, 29 May 2012 11:59:12 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0M4S00200K4JOO00@a-mtaout20.012.net.il> for 11578-done@debbugs.gnu.org; Tue, 29 May 2012 18:57:22 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.210.75]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M4S002EDKBM5E80@a-mtaout20.012.net.il>; Tue, 29 May 2012 18:57:22 +0300 (IDT) Date: Tue, 29 May 2012 18:57:29 +0300 From: Eli Zaretskii Subject: Re: bug#11578: 24.1.50; Can't 'make install' on Windows In-reply-to: <20120529140342.03EA134803A@msa103.auone-net.jp> X-012-Sender: halo1@inter.net.il To: Kazuhiro Ito Message-id: <837gvv2d5i.fsf@gnu.org> References: <20120529140342.03EA134803A@msa103.auone-net.jp> X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11578-done Cc: 11578-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Tue, 29 May 2012 23:03:37 +0900 > From: Kazuhiro Ito > > When I run configure.bat with --prefix option, 'make install' with > MinGW fails. > > > make: Circular D:/bin/emacs_trunk <- D:/bin/emacs_trunk dependency dropped. > > make -C ../lib-src install > > [Please ignore a syntax error on the next line - it is intentional] > > /bin/sh: -c: line 0: unexpected EOF while looking for matching `"' > > /bin/sh: -c: line 1: syntax error: unexpected end of file > > make[1]: Entering directory `/f/build/emacs-trunk/lib-src' > > mkdir "D:/bin/emacs_trunk /bin" > > mkdir: cannot create directory `D:/bin/emacs_trunk /bin': No such file or directory > > make[1]: [install] Error 1 (ignored) > > cp -f oo-spd/i386/etags.exe D:/bin/emacs_trunk /bin > > cp: omitting directory `D:/bin/emacs_trunk' > > make[1]: *** [install] Error 1 > > make[1]: Leaving directory `/f/build/emacs-trunk/lib-src' > > make: *** [install-other-dirs-gmake] Error 2 This was reported to me yesterday off-list, and I fixed it on the emacs-24 branch in revision 108019. The patch is below, if you cannot wait for the next merge from emacs-24 to the trunk. > In the above, 'D:/bin/emacs_trunk' is argument of --prefix option. It > seems that makefile.w32-in does not assume INSTALL_DIR has trailing > space. No, the problem is a subtlety of the cmd.exe "echo" command. If you say echo foo=bar >>file the blank between "bar" and the redirection symbol winds up in the file. The fix for that, which doesn't re-introduce a different, but related bug fixed in r108005, is somewhat tricky, as you see below. A workaround is not to use --prefix at configure time and instead set INSTALL_DIR at "make install" time, like this: make install INSTALL_DIR=d:/bin/emacs_trunk (If you are installing in the source tree, you need neither --prefix nor INSTALL_DIR= at "make install" time, since that's the default INSTALL_DIR anyway.) === modified file 'nt/ChangeLog' --- nt/ChangeLog 2012-05-18 08:21:19 +0000 +++ nt/ChangeLog 2012-05-28 16:17:35 +0000 @@ -1,3 +1,12 @@ +2012-05-28 Eli Zaretskii + + * configure.bat (genmakefiles): Move the redirection away from the + end of the command, to avoid excess whitespace at the end of Make + variables created at configure time, and also avoid things like + "FOO1>>config.settings", where "1" gets interpreted as the file + descriptor and eaten up. This fixes breakage introduced by the + last change, without reintroducing the bug fixed by that change. + 2012-05-18 Eli Zaretskii * configure.bat: Ensure a space between %var% expansion and === modified file 'nt/configure.bat' --- nt/configure.bat 2012-05-18 08:21:19 +0000 +++ nt/configure.bat 2012-05-28 16:17:35 +0000 @@ -721,29 +721,36 @@ if %COMPILER% == gcc set MAKECMD=gmake if %COMPILER% == cl set MAKECMD=nmake rem Pass on chosen settings to makefiles. -rem NB. Be very careful to not have a space before redirection symbols -rem except when there is a preceding digit, when a space is required. rem +rem The weird place we put the redirection is to make sure no extra +rem whitespace winds up at the end of the Make variables, since some +rem variables, e.g. INSTALL_DIR, cannot stand that. Yes, echo will +rem write the blanks between the end of command arguments and the +rem redirection symbol to the file. OTOH, we cannot put the +rem redirection immediately after the last character of the command, +rem because environment variable expansion can yield a digit there, +rem which will then be misinterpreted as the file descriptor to +rem redirect... echo # Start of settings from configure.bat >config.settings -echo COMPILER=%COMPILER% >>config.settings -if not "(%mf%)" == "()" echo MCPU_FLAG=%mf% >>config.settings -if not "(%dbginfo%)" == "()" echo DEBUG_INFO=%dbginfo% >>config.settings -if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings -if (%noopt%) == (Y) echo NOOPT=1 >>config.settings -if (%enablechecking%) == (Y) echo ENABLECHECKS=1 >>config.settings -if (%profile%) == (Y) echo PROFILE=1 >>config.settings -if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings -if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix% >>config.settings -if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles% >>config.settings +>>config.settings echo COMPILER=%COMPILER% +if not "(%mf%)" == "()" >>config.settings echo MCPU_FLAG=%mf% +if not "(%dbginfo%)" == "()" >>config.settings echo DEBUG_INFO=%dbginfo% +if (%nodebug%) == (Y) >>config.settings echo NODEBUG=1 +if (%noopt%) == (Y) >>config.settings echo NOOPT=1 +if (%enablechecking%) == (Y) >>config.settings echo ENABLECHECKS=1 +if (%profile%) == (Y) >>config.settings echo PROFILE=1 +if (%nocygwin%) == (Y) >>config.settings echo NOCYGWIN=1 +if not "(%prefix%)" == "()" >>config.settings echo INSTALL_DIR=%prefix% +if not "(%distfiles%)" == "()" >>config.settings echo DIST_FILES=%distfiles% rem We go thru docflags because usercflags could be "-DFOO=bar" -something rem and the if command cannot cope with this for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y -if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags% >>config.settings -if (%docflags%)==(Y) echo ESC_USER_CFLAGS=%escusercflags% >>config.settings +if (%docflags%)==(Y) >>config.settings echo USER_CFLAGS=%usercflags% +if (%docflags%)==(Y) >>config.settings echo ESC_USER_CFLAGS=%escusercflags% for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y -if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags% >>config.settings +if (%doldflags%)==(Y) >>config.settings echo USER_LDFLAGS=%userldflags% for %%v in (%extrauserlibs%) do if not (%%v)==() set doextralibs=Y -if (%doextralibs%)==(Y) echo USER_LIBS=%extrauserlibs% >>config.settings +if (%doextralibs%)==(Y) >>config.settings echo USER_LIBS=%extrauserlibs% echo # End of settings from configure.bat>>config.settings echo. >>config.settings ------------=_1338307203-31172-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 29 May 2012 14:05:58 +0000 Received: from localhost ([127.0.0.1]:48402 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SZN3e-0005SU-G1 for submit@debbugs.gnu.org; Tue, 29 May 2012 10:05:58 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42471) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SZN3J-0005Rz-E8 for submit@debbugs.gnu.org; Tue, 29 May 2012 10:05:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SZN1m-00005I-Pf for submit@debbugs.gnu.org; Tue, 29 May 2012 10:04:08 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:44737) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SZN1m-00005D-MH for submit@debbugs.gnu.org; Tue, 29 May 2012 10:04:02 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42613) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SZN1h-0002yC-9a for bug-gnu-emacs@gnu.org; Tue, 29 May 2012 10:04:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SZN1c-0008SC-0i for bug-gnu-emacs@gnu.org; Tue, 29 May 2012 10:03:56 -0400 Received: from msa103.auone-net.jp ([61.117.18.163]:36094) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SZN1b-0008PK-LE for bug-gnu-emacs@gnu.org; Tue, 29 May 2012 10:03:51 -0400 Received: from GUNGNIR.med.osaka-cu.ac.jp (121-87-85-189f1.nar1.eonet.ne.jp [121.87.85.189]) by msa103.auone-net.jp (au one net msa) with ESMTP id 03EA134803A; Tue, 29 May 2012 23:03:41 +0900 (JST) Date: Tue, 29 May 2012 23:03:37 +0900 From: Kazuhiro Ito User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 EasyPG/1.0.0 Emacs/24.1.50 (i386-mingw-nt6.1.7601) MULE/6.0 (HANACHIRUSATO) To: bug-gnu-emacs@gnu.org Subject: 24.1.50; Can't 'make install' on Windows MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Message-Id: <20120529140342.03EA134803A@msa103.auone-net.jp> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.2 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.2 (------) When I run configure.bat with --prefix option, 'make install' with MinGW fails. > make: Circular D:/bin/emacs_trunk <- D:/bin/emacs_trunk dependency dropped. > make -C ../lib-src install > [Please ignore a syntax error on the next line - it is intentional] > /bin/sh: -c: line 0: unexpected EOF while looking for matching `"' > /bin/sh: -c: line 1: syntax error: unexpected end of file > make[1]: Entering directory `/f/build/emacs-trunk/lib-src' > mkdir "D:/bin/emacs_trunk /bin" > mkdir: cannot create directory `D:/bin/emacs_trunk /bin': No such file or directory > make[1]: [install] Error 1 (ignored) > cp -f oo-spd/i386/etags.exe D:/bin/emacs_trunk /bin > cp: omitting directory `D:/bin/emacs_trunk' > make[1]: *** [install] Error 1 > make[1]: Leaving directory `/f/build/emacs-trunk/lib-src' > make: *** [install-other-dirs-gmake] Error 2 In the above, 'D:/bin/emacs_trunk' is argument of --prefix option. It seems that makefile.w32-in does not assume INSTALL_DIR has trailing space. -- Kazuhiro Ito ------------=_1338307203-31172-1--