GNU bug report logs - #8564
24.0.50; bootstrap on windows 7: `gl-stamp' target failed

Previous Next

Package: emacs;

Reported by: William Xu <william.xwl <at> gmail.com>

Date: Wed, 27 Apr 2011 05:21:01 UTC

Severity: normal

Found in version 24.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: William Xu <william.xwl <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: bug#8564: 24.0.50; bootstrap on windows 7: `gl-stamp' target failed
Date: Thu, 28 Apr 2011 10:24:26 +0800
Eli Zaretskii <eliz <at> gnu.org> writes:

   Is this something new?  Did you ever bootstrap on that machine, or on
   Windows 7 in general?

This is the first time i tried to compile emacs on Windows 7.

   After you bootstrap, does the same command work for a normal (i.e.,
   non-bootstrap) build, or does it fail in the same way?

Yes, if i revert my change.  I modified some c files, and run following
command: 

,----[ make gl-stamp ]
| cmd /c "fc /b gl-tmp globals.h >nul 2>&1 || cp -f gl-tmp globals.h"
| Microsoft Windows [Version 6.1.7600]
| Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
| 
| L:\bin\emacs\src>mingw32-make: *** [gl-stamp] Error 66048
`----

   Finally, what version of Make did you use for that bootstrap?  What
   does "make --version" display?  Also, did you use any kind of Unixy
   shell (Make announces at the very beginning of the build process
   whioch shell it uses)?

,----[ mingw32-make --version ]
| GNU Make 3.82
| Built for i386-pc-mingw32
| Copyright (C) 2010  Free Software Foundation, Inc.
| License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
| This is free software: you are free to change and redistribute it.
| There is NO WARRANTY, to the extent permitted by law.
`----

I was compiling in on cmd.exe(i have some unix tools on %path%, though)
The beginning: 

,----
| L:\bin\emacs\src>mingw32-make gl-stamp
| [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
| rm gl-tmp
`----

   >   cp -f gl-tmp globals.h  # Wouldn't this be simpler & good enough? 

   No, it's not good enough.  `cp' updates the time stamp of globals.h
   each time you build, and therefore all the C files will be recompiled,
   because they all include globals.h, even though the contents of
   globals.h rarely changes.  That kinda makes Make redundant, since its
   main goal is to avoid unnecessary compilations...  The command that
   invokes `fc' only updates globals.h if the new version has different
   contents.  IOW, this is the Windows way of saying move-if-change.

How about using `diff' here? (considering commands like `cp' is already
dependent? )
  diff gl-tmp globals.h >nul 2>&1 || $(CP) gl-tmp globals.h

-- 
William

http://xwl.appspot.com





This bug report was last modified 14 years and 23 days ago.

Previous Next


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