unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* make distclean and quail
@ 2013-07-15 11:41 Juanma Barranquero
  2013-07-15 15:05 ` Paul Eggert
  2013-07-15 15:42 ` Eli Zaretskii
  0 siblings, 2 replies; 22+ messages in thread
From: Juanma Barranquero @ 2013-07-15 11:41 UTC (permalink / raw)
  To: Emacs developers

Isn't that bit in leim/Makefile.in a bit too trigger happy?

  distclean: clean
  -[ `cd ${srcdir} && /bin/pwd` != `/bin/pwd` ] && rm -rf quail
  rm -f Makefile

There are files in leim/quail which are not autogenerated, and in fact
after "make distclean & make bootstrap" I get this bzr status:

removed:
  leim/quail/.gitignore
  leim/quail/arabic.el
  leim/quail/croatian.el
  leim/quail/cyril-jis.el
  leim/quail/cyrillic.el
  leim/quail/czech.el
  leim/quail/ethiopic.el
  leim/quail/georgian.el
  leim/quail/greek.el
  leim/quail/hangul.el
  leim/quail/hanja-jis.el
  leim/quail/hanja.el
  leim/quail/hanja3.el
  leim/quail/hebrew.el
  leim/quail/indian.el
  leim/quail/ipa-praat.el
  leim/quail/ipa.el
  leim/quail/japanese.el
  leim/quail/lao.el
  leim/quail/latin-alt.el
  leim/quail/latin-ltx.el
  leim/quail/latin-post.el
  leim/quail/latin-pre.el
  leim/quail/lrt.el
  leim/quail/persian.el
  leim/quail/py-punct.el
  leim/quail/pypunct-b5.el
  leim/quail/rfc1345.el
  leim/quail/sgml-input.el
  leim/quail/sisheng.el
  leim/quail/slovak.el
  leim/quail/symbol-ksc.el
  leim/quail/thai.el
  leim/quail/tibetan.el
  leim/quail/uni-input.el
  leim/quail/viqr.el
  leim/quail/vntelex.el
  leim/quail/vnvni.el
  leim/quail/welsh.el

  Juanma



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-07-15 11:41 make distclean and quail Juanma Barranquero
@ 2013-07-15 15:05 ` Paul Eggert
  2013-07-15 15:13   ` Juanma Barranquero
  2013-07-15 15:42 ` Eli Zaretskii
  1 sibling, 1 reply; 22+ messages in thread
From: Paul Eggert @ 2013-07-15 15:05 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Emacs developers

On 07/15/2013 04:41 AM, Juanma Barranquero wrote:
> Isn't that bit in leim/Makefile.in a bit too trigger happy?
> 
>   distclean: clean
>   -[ `cd ${srcdir} && /bin/pwd` != `/bin/pwd` ] && rm -rf quail
>   rm -f Makefile

The "rm -rf quail" bit should be executed only if the build
directory differs from the source directory.  Was your build
directory the same as your source directory?  If so,
you might investigate why
"[ `cd ${srcdir} && /bin/pwd` != `/bin/pwd` ]" is
mistakenly succeeding on your platform, even though
you're building from the source directory.



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-07-15 15:05 ` Paul Eggert
@ 2013-07-15 15:13   ` Juanma Barranquero
  0 siblings, 0 replies; 22+ messages in thread
From: Juanma Barranquero @ 2013-07-15 15:13 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Emacs developers

On Mon, Jul 15, 2013 at 5:05 PM, Paul Eggert <eggert@cs.ucla.edu> wrote:

> The "rm -rf quail" bit should be executed only if the build
> directory differs from the source directory.  Was your build
> directory the same as your source directory?

Yes, I always build in-place.

> If so,
> you might investigate why
> "[ `cd ${srcdir} && /bin/pwd` != `/bin/pwd` ]" is
> mistakenly succeeding on your platform, even though
> you're building from the source directory.

I'll do that, thanks.

   J



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-07-15 11:41 make distclean and quail Juanma Barranquero
  2013-07-15 15:05 ` Paul Eggert
@ 2013-07-15 15:42 ` Eli Zaretskii
  2013-07-15 15:56   ` Juanma Barranquero
  1 sibling, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2013-07-15 15:42 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 15 Jul 2013 13:41:13 +0200
> 
> Isn't that bit in leim/Makefile.in a bit too trigger happy?
> 
>   distclean: clean
>   -[ `cd ${srcdir} && /bin/pwd` != `/bin/pwd` ] && rm -rf quail
                                 ^^^^
My reading of the underlined part is that the removal only happens if
you invoke this out of the source tree.  In that case, there are no
versioned files in leim/quail.

> after "make distclean & make bootstrap" I get this bzr status:
> 
> removed:
>   leim/quail/.gitignore
>   leim/quail/arabic.el
>   leim/quail/croatian.el
>   leim/quail/cyril-jis.el
>   leim/quail/cyrillic.el
>   leim/quail/czech.el
>   leim/quail/ethiopic.el
>   leim/quail/georgian.el
>   leim/quail/greek.el
>   leim/quail/hangul.el
>   leim/quail/hanja-jis.el
>   leim/quail/hanja.el
>   leim/quail/hanja3.el
>   leim/quail/hebrew.el
>   leim/quail/indian.el
>   leim/quail/ipa-praat.el
>   leim/quail/ipa.el
>   leim/quail/japanese.el
>   leim/quail/lao.el
>   leim/quail/latin-alt.el
>   leim/quail/latin-ltx.el
>   leim/quail/latin-post.el
>   leim/quail/latin-pre.el
>   leim/quail/lrt.el
>   leim/quail/persian.el
>   leim/quail/py-punct.el
>   leim/quail/pypunct-b5.el
>   leim/quail/rfc1345.el
>   leim/quail/sgml-input.el
>   leim/quail/sisheng.el
>   leim/quail/slovak.el
>   leim/quail/symbol-ksc.el
>   leim/quail/thai.el
>   leim/quail/tibetan.el
>   leim/quail/uni-input.el
>   leim/quail/viqr.el
>   leim/quail/vntelex.el
>   leim/quail/vnvni.el
>   leim/quail/welsh.el

Something is wrong with your '/bin/pwd'.  What does it display if
invoked from leim/ in the bzr repo?



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-07-15 15:42 ` Eli Zaretskii
@ 2013-07-15 15:56   ` Juanma Barranquero
  2013-07-15 16:09     ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: Juanma Barranquero @ 2013-07-15 15:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs developers

On Mon, Jul 15, 2013 at 5:42 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> Something is wrong with your '/bin/pwd'.  What does it display if
> invoked from leim/ in the bzr repo?

  Juanma@ODIEONE /c/Devel/emacs/repo/trunk/leim
  $ /bin/pwd
  /c/Devel/emacs/repo/trunk/leim

so it is working correctly.

I've only seen this problem a few times, always after bootstrap.

My setup is a bit unusual in that I don't ever type commands inside
the MSYS bash shell. Instead, I have aliases

msys=c:\MinGW\msys\1.0\bin\sh.exe --login -i
mdo=msys -c "cd /c/Devel/emacs/repo/trunk; %$"
mboot=mdo make bootstrap

and a configuration file for .bash in my %HOME that sets PATH to a
very small set of directories (those of MSYS, plus a few others).

And I always bootstrap with mboot, so it always sets the directory,
and runs the same tools from the same PATH, etc. I don't know why I
see the bug only occasionally.

    J



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-07-15 15:56   ` Juanma Barranquero
@ 2013-07-15 16:09     ` Eli Zaretskii
  2013-07-15 16:18       ` Juanma Barranquero
  2013-08-11  2:48       ` Juanma Barranquero
  0 siblings, 2 replies; 22+ messages in thread
From: Eli Zaretskii @ 2013-07-15 16:09 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 15 Jul 2013 17:56:57 +0200
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> On Mon, Jul 15, 2013 at 5:42 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > Something is wrong with your '/bin/pwd'.  What does it display if
> > invoked from leim/ in the bzr repo?
> 
>   Juanma@ODIEONE /c/Devel/emacs/repo/trunk/leim
>   $ /bin/pwd
>   /c/Devel/emacs/repo/trunk/leim
> 
> so it is working correctly.
> 
> I've only seen this problem a few times, always after bootstrap.

Hack leim/Makefile.in to display both sides of the offending
inequality, and see what you get there.

My crystal ball says that this is somehow related to MSYS
transformation of file names, or maybe sometimes it invokes the MinGW
pwd.exe (if you have it installed).



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-07-15 16:09     ` Eli Zaretskii
@ 2013-07-15 16:18       ` Juanma Barranquero
  2013-08-11  2:48       ` Juanma Barranquero
  1 sibling, 0 replies; 22+ messages in thread
From: Juanma Barranquero @ 2013-07-15 16:18 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs developers

On Mon, Jul 15, 2013 at 6:09 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> Hack leim/Makefile.in to display both sides of the offending
> inequality, and see what you get there.

Yes, I'll do.

> My crystal ball says that this is somehow related to MSYS
> transformation of file names

I have great faith in the powers of your crystal ball...

> or maybe sometimes it invokes the MinGW
> pwd.exe (if you have it installed).

No, but in the PATH that I use for building Emacs there are GnuWin32
tools, pwd among them. They come after MSYS and MinGW paths, though.
I'll try removing it.

   J



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-07-15 16:09     ` Eli Zaretskii
  2013-07-15 16:18       ` Juanma Barranquero
@ 2013-08-11  2:48       ` Juanma Barranquero
  2013-08-11  3:56         ` chad
  2013-08-11 17:17         ` Eli Zaretskii
  1 sibling, 2 replies; 22+ messages in thread
From: Juanma Barranquero @ 2013-08-11  2:48 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs developers

On Mon, Jul 15, 2013 at 6:09 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> Hack leim/Makefile.in to display both sides of the offending
> inequality, and see what you get there.
>
> My crystal ball says that this is somehow related to MSYS
> transformation of file names [...]

It's taken a while, but I finally caught a bootstrap log where the
deletion of leim files did happen. I had changed the distclean target
in leim/Makefile to read

distclean: clean
        @echo SRC = ${srcdir}
        @echo PWD = `/bin/pwd`
        -[ `cd ${srcdir} && /bin/pwd` != `/bin/pwd` ] && rm -rf quail
        rm -f Makefile

and I've got:

SRC = /c/devel/emacs/repo/trunk/leim
PWD = /c/Devel/emacs/repo/trunk/leim

The previous bootstrap, which succeeded (I mean, didn't delete
leim/quail/* files) had identical PWD, but SRC =
/c/Devel/emacs/repo/trunk/leim.

Looking at ./Makefile,

  # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
  srcdir=/c/Devel/emacs/repo/trunk

and, in fact, all along the bootstrap's log, make output uses the
"right" casing:

  make[2]: Entering directory '/c/Devel/emacs/repo/trunk'

while shell commands do not:

  [ -r "/c/devel/emacs/repo/trunk/src/config.in" ] || ( cd
/c/devel/emacs/repo/trunk && autoheader )

In both cases the bootstraps were invoked through the same alias,
paths, binaries, etc.

Any idea what can be causing this?

TIA,

   J



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-11  2:48       ` Juanma Barranquero
@ 2013-08-11  3:56         ` chad
  2013-08-11 17:17         ` Eli Zaretskii
  1 sibling, 0 replies; 22+ messages in thread
From: chad @ 2013-08-11  3:56 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Eli Zaretskii, Emacs developers

On 10 Aug 2013, at 22:48, Juanma Barranquero <lekktu@gmail.com> wrote:
> 
> It's taken a while, but I finally caught a bootstrap log where the
> deletion of leim files did happen.

FWIW, I see this on macosx relatively often. I'm doing 'make -j8
bootstrap' builds directly in the source tree. I never saw it without
parallel builds, but that might have just been sample bias.

~Chad




^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-11  2:48       ` Juanma Barranquero
  2013-08-11  3:56         ` chad
@ 2013-08-11 17:17         ` Eli Zaretskii
  2013-08-11 17:49           ` Juanma Barranquero
  1 sibling, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2013-08-11 17:17 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Sun, 11 Aug 2013 04:48:54 +0200
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> distclean: clean
>         @echo SRC = ${srcdir}
>         @echo PWD = `/bin/pwd`
>         -[ `cd ${srcdir} && /bin/pwd` != `/bin/pwd` ] && rm -rf quail
>         rm -f Makefile
> 
> and I've got:
> 
> SRC = /c/devel/emacs/repo/trunk/leim
> PWD = /c/Devel/emacs/repo/trunk/leim
> 
> The previous bootstrap, which succeeded (I mean, didn't delete
> leim/quail/* files) had identical PWD, but SRC =
> /c/Devel/emacs/repo/trunk/leim.
> 
> Looking at ./Makefile,
> 
>   # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
>   srcdir=/c/Devel/emacs/repo/trunk
> 
> and, in fact, all along the bootstrap's log, make output uses the
> "right" casing:
> 
>   make[2]: Entering directory '/c/Devel/emacs/repo/trunk'
> 
> while shell commands do not:
> 
>   [ -r "/c/devel/emacs/repo/trunk/src/config.in" ] || ( cd
> /c/devel/emacs/repo/trunk && autoheader )
> 
> In both cases the bootstraps were invoked through the same alias,
> paths, binaries, etc.
> 
> Any idea what can be causing this?

So you are saying that _all_ of the Makefile's set srcdir to its
correct value, and yet the commands issued by Make have "Devel"
downcased, is that right?  That kinda blames Make and it alone,
because it is Make who expands variables when it invokes commands.
Did you try to install a newer snapshot of MSYS Make?

And you also say that this happens only sometimes?  Is it possible
that you invoke the bootstrap a bit differently when the problem
happens, like with different environment variables or from a different
shell?  Or maybe you have more than one Make which could come into
play somehow?

FWIW, this never happened to me, but then I don't think I've built
packages using MSYS in a directory that has mixed-case letters, they
are always lower-case here.



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-11 17:17         ` Eli Zaretskii
@ 2013-08-11 17:49           ` Juanma Barranquero
  2013-08-11 19:25             ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: Juanma Barranquero @ 2013-08-11 17:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs developers

On Sun, Aug 11, 2013 at 7:17 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> So you are saying that _all_ of the Makefile's set srcdir to its
> correct value

Yes, all Makefiles have srcdir = /c/Devel/emacs/repo/trunk [etc],

> and yet the commands issued by Make have "Devel"
> downcased, is that right?

The "Entering directory" / "Leaving directory" messages are correctly
cased, as are many commands:

  /c/Devel/emacs/build/bin/makeinfo --force
-I/c/Devel/emacs/repo/trunk/doc/misc/../emacs [etc]

  gcc  -std=gnu99 -mtune=pentium4 [deleted warnings stuff] -I.
-I/c/Devel/emacs/repo/trunk/nt  -Lc:/Devel/emacs/lib -mtune=pentium4
-Ic:/Devel/emacs/include -DUSE_CRT_DLL=1 -I
/c/Devel/emacs/repo/trunk/nt/inc -O0 -g3
/c/Devel/emacs/repo/trunk/nt/runemacs.c

However "shell" commands are not:

  [ -r "/c/devel/emacs/repo/trunk/src/config.in" ] || ( cd
/c/devel/emacs/repo/trunk && autoheader )

  if test -f "/c/devel/emacs/repo/trunk/src/.gdbinit"; then rm -f
./.gdbinit.save; \

  make[1]: Entering directory `/c/Devel/emacs/repo/trunk/leim'
  SRC = /c/devel/emacs/repo/trunk/leim
  PWD = /c/Devel/emacs/repo/trunk/leim
  [ `cd /c/devel/emacs/repo/trunk/leim && /bin/pwd` != `/bin/pwd` ] &&
rm -rf quail

    CONFIG_SITE=/c/Devel/emacs/repo/trunk/nt/mingw-cfg.site
./config.status --recheck;  \
    CONFIG_SITE=/c/Devel/emacs/repo/trunk/nt/mingw-cfg.site
/c/devel/emacs/repo/trunk/configure --cache-file=/dev/null; \

> That kinda blames Make and it alone,
> because it is Make who expands variables when it invokes commands.
> Did you try to install a newer snapshot of MSYS Make?

I'm using the one I installed originally from here:
https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/

  C:\...\repo> \bin\MinGW\msys\1.0\bin\make.exe --version
  GNU Make 3.82.90
  Built for i686-pc-msys

> And you also say that this happens only sometimes?

Yes. Perhaps when a reconfiguration is triggered, though I'm not sure
because it does not happen so often as to clearly establish a pattern.

> Is it possible
> that you invoke the bootstrap a bit differently when the problem
> happens, like with different environment variables or from a different
> shell?

It is highly unlikely, because I always run bootstrap with a TCC
alias, which invokes "sh.exe --login -i", which reads the same init
file, which sets the path to a limited set of directories, always the
same, and I haven't really reinstalled or changed anything in there
recently, and certainly not between my last and next-to-last reboots
(from 2013/08/08 and 2013/08/11).

> Or maybe you have more than one Make which could come into
> play somehow?

There's anothe make in the path, the one from GnuWin32

  C:\...\repo> \bin\Gnu\bin\make.exe --version
  GNU Make 3.81

but I don't see why would it be run, when the other one comes before
in the path, and in fact running the very same shell command that I
use for bootstrap, is the MSYS one which responds:

  C:\...\repo> mdo make --version
  GNU Make 3.82.90
  Built for i686-pc-msys

and mboot, the command that I use to bootstrap, is defined to run "mdo
make bootstrap".

> FWIW, this never happened to me, but then I don't think I've built
> packages using MSYS in a directory that has mixed-case letters, they
> are always lower-case here.

Well, I certainly can rename C:/Devel to C:/devel and not to worry
again, but it is still quite puzzling why does it happens only part of
the time.

  J



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-11 17:49           ` Juanma Barranquero
@ 2013-08-11 19:25             ` Eli Zaretskii
  2013-08-11 21:39               ` Juanma Barranquero
  0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2013-08-11 19:25 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Sun, 11 Aug 2013 19:49:43 +0200
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> On Sun, Aug 11, 2013 at 7:17 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > So you are saying that _all_ of the Makefile's set srcdir to its
> > correct value
> 
> Yes, all Makefiles have srcdir = /c/Devel/emacs/repo/trunk [etc],
> 
> > and yet the commands issued by Make have "Devel"
> > downcased, is that right?
> 
> The "Entering directory" / "Leaving directory" messages are correctly
> cased, as are many commands:

The entering/leaving messages are entirely unrelated, as they don't
involve expanding Make variables.

>   /c/Devel/emacs/build/bin/makeinfo --force
> -I/c/Devel/emacs/repo/trunk/doc/misc/../emacs [etc]
> 
>   gcc  -std=gnu99 -mtune=pentium4 [deleted warnings stuff] -I.
> -I/c/Devel/emacs/repo/trunk/nt  -Lc:/Devel/emacs/lib -mtune=pentium4
> -Ic:/Devel/emacs/include -DUSE_CRT_DLL=1 -I
> /c/Devel/emacs/repo/trunk/nt/inc -O0 -g3
> /c/Devel/emacs/repo/trunk/nt/runemacs.c
> 
> However "shell" commands are not:
> 
>   [ -r "/c/devel/emacs/repo/trunk/src/config.in" ] || ( cd
> /c/devel/emacs/repo/trunk && autoheader )
> 
>   if test -f "/c/devel/emacs/repo/trunk/src/.gdbinit"; then rm -f
> ./.gdbinit.save; \

Could it be that those that are downcased are all in quotes?

> > That kinda blames Make and it alone,
> > because it is Make who expands variables when it invokes commands.
> > Did you try to install a newer snapshot of MSYS Make?
> 
> I'm using the one I installed originally from here:
> https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
> 
>   C:\...\repo> \bin\MinGW\msys\1.0\bin\make.exe --version
>   GNU Make 3.82.90
>   Built for i686-pc-msys

Maybe try a newer one.

> > And you also say that this happens only sometimes?
> 
> Yes. Perhaps when a reconfiguration is triggered

But all the reconfiguration does is regenerate Makefile's, and you say
they all come out OK.

And reconfiguration is triggered very often these days, so you should
have seen this more frequently.

Perhaps you should always create a log of a build (e.g., with 'tee'),
and collect those that fail like this.  Then, when you have a few, we
could see what do they have in common.

> Well, I certainly can rename C:/Devel to C:/devel and not to worry
> again, but it is still quite puzzling why does it happens only part of
> the time.

I think it's just a subtle bug, all it is.



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-11 19:25             ` Eli Zaretskii
@ 2013-08-11 21:39               ` Juanma Barranquero
  2013-08-12 12:01                 ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: Juanma Barranquero @ 2013-08-11 21:39 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs developers

[-- Attachment #1: Type: text/plain, Size: 1415 bytes --]

On Sun, Aug 11, 2013 at 9:25 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> Could it be that those that are downcased are all in quotes?

Not all. In the following,

  [ -r "$@" ] || ( cd ${srcdir} && autoheader )

Both $@ and ${srcdir} are downcased.

  if test -f "$(srcdir)/.gdbinit"; then rm -f ./.gdbinit.save; \

  -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm
-f $(CONFIG_CLEAN_VPATH_FILES)

These two are quoted.

  -cd $(buildinfodir) && rm -f emacs$(INFO_EXT) emacs$(INFO_EXT)-[1-9]
emacs$(INFO_EXT)-[1-9][0-9]

$(buildinfo) is set to $(srcdir)/../../info  (no quotes)

> Maybe try a newer one.

I couldn't find a newer one. This is identical to the one in the
latest binary package in the URL above.

> And reconfiguration is triggered very often these days, so you should
> have seen this more frequently.

Yes. I bootstrap at least once a week or so, and I think I've seen
this bug no more than six times or so.

> Perhaps you should always create a log of a build (e.g., with 'tee'),
> and collect those that fail like this.  Then, when you have a few, we
> could see what do they have in common.

I have a log of this one, and the previous (successful) one.  See the
attached files (the first ~120 lines of the next-to-last boot,
successful.log, and the last, unsuccesful.log).

> I think it's just a subtle bug, all it is.

That's another way to say that it is puzzling ;-)

   J

[-- Attachment #2: successful.log --]
[-- Type: application/octet-stream, Size: 8474 bytes --]

[ -r "/c/Devel/emacs/repo/trunk/src/config.in" ] || ( cd /c/Devel/emacs/repo/trunk && autoheader )
(cd src;      make  bootstrap-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/src'
rm -f temacs.exe core *.core \#* *.o libXMenu11.a liblw.a
rm -f ../etc/DOC
rm -f bootstrap-emacs.exe emacs-24.3.50.exe
rm -f buildobj.h
rm -f globals.h gl-stamp
rm -f *.res *.tmp
rm -f emacs-*.*.*.exe emacs.exe
rm -rf deps
rm -f epaths.h config.h config.stamp stamp-h1 stamp-oldxmenu
if test -f ./.gdbinit; then \
  mv ./.gdbinit ./.gdbinit.save; \
  if test -f "/c/Devel/emacs/repo/trunk/src/.gdbinit"; then rm -f ./.gdbinit.save; \
  else mv ./.gdbinit.save ./.gdbinit; fi; \
fi
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/src'
(cd oldXMenu; make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/oldXMenu'
rm -f libXMenu11.a Activate.o  AddPane.o  AddSel.o  ChgPane.o  ChgSel.o  Create.o  DelPane.o  DelSel.o  Destroy.o  Error.o  EvHand.o  FindPane.o  FindSel.o  InsPane.o  InsSel.o  Internal.o  Locate.o  Post.o  Recomp.o  SetAEQ.o  SetFrz.o  SetPane.o  SetSel.o  XDelAssoc.o XLookAssoc.o XCrAssoc.o XDestAssoc.o XMakeAssoc.o insque.o
rm -f Makefile
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/oldXMenu'
(cd lwlib;    make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/lwlib'
rm -f *.o liblw.a \#*
rm -f Makefile
rm -f TAGS
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/lwlib'
(cd lib;      make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/lib'
test -z "" || rm -f 
test -z "libgnu.a " || rm -f libgnu.a 
rm -f *.o
test -z "core *.stackdump alloca.h  alloca.h-t errno.h errno.h-t  execinfo.h execinfo.h-t getopt.h  getopt.h-t arg-nonnull.h  arg-nonnull.h-t c++defs.h  c++defs.h-t warn-on-use.h  warn-on-use.h-t stdalign.h  stdalign.h-t stdarg.h stdarg.h-t  stdbool.h stdbool.h-t stddef.h  stddef.h-t stdint.h stdint.h-t " || rm -f core *.stackdump alloca.h  alloca.h-t errno.h errno.h-t  execinfo.h execinfo.h-t getopt.h  getopt.h-t arg-nonnull.h  arg-nonnull.h-t c++defs.h  c++defs.h-t warn-on-use.h  warn-on-use.h-t stdalign.h  stdalign.h-t stdarg.h stdarg.h-t  stdbool.h stdbool.h-t stddef.h  stddef.h-t stdint.h stdint.h-t 
rm -f *.tab.c
test -z "" || rm -f 
test . = "/c/Devel/emacs/repo/trunk/lib" || test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
This command is intended for maintainers to use
it deletes files that may require special tools to rebuild.
test -z "alloca.h errno.h  execinfo.h getopt.h  arg-nonnull.h c++defs.h  warn-on-use.h        " || rm -f alloca.h errno.h  execinfo.h getopt.h  arg-nonnull.h c++defs.h  warn-on-use.h        
rm -rf ./.deps
rm -f Makefile
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/lib'
(cd lib-src;  make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/lib-src'
rm -f core *.o *.res
rm -f etags.exe ctags.exe emacsclient.exe emacsclientw.exe  ebrowse.exe profile.exe movemail.exe hexl.exe  update-game-score.exe test-distrib.exe make-docfile.exe
rm -f TAGS
rm -f Makefile blessmail
true
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/lib-src'
(cd nt;       make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/nt'
rm -f core *.o *.res
rm -f runemacs.exe addpm.exe cmdproxy.exe ddeclient.exe addsection.exe
rm -f TAGS
rm -f Makefile
true
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/nt'
(cd doc/emacs &&   make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/doc/emacs'
rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
  *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
rm -f emacs.dvi emacs-xtra.dvi emacs.pdf emacs-xtra.pdf \
  emacs.ps emacs-xtra.ps
rm -rf emacs.html/
rm -f emacs-manual-24.3.50.tar*
cd /c/Devel/emacs/repo/trunk/doc/emacs/../../info && rm -f emacs.info emacs.info-[1-9] emacs.info-[1-9][0-9]
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/doc/emacs'
(cd doc/misc &&   make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/doc/misc'
rm -f *.aux *.log *.toc *.c[mp] *.c[mp]s *.fn *.fns \
  *.ky *.kys *.op *.ops *.p[gj] *.p[gj]s *.sc *.scs *.ss \
  *.t[gp] *.t[gp]s *.vr *.vrs
rm -f gnustmp.*
rm -f ada-mode.dvi  auth.dvi  autotype.dvi  bovine.dvi  calc.dvi  cc-mode.dvi  cl.dvi  dbus.dvi  dired-x.dvi  ebrowse.dvi  ede.dvi  ediff.dvi  edt.dvi  eieio.dvi  emacs-mime.dvi  epa.dvi  erc.dvi  ert.dvi  eshell.dvi  eudc.dvi  faq.dvi  flymake.dvi  forms.dvi  gnus.dvi  emacs-gnutls.dvi  htmlfontify.dvi  idlwave.dvi  ido.dvi  info.dvi  mairix-el.dvi  message.dvi  mh-e.dvi  newsticker.dvi  nxml-mode.dvi  org.dvi  pcl-cvs.dvi  pgg.dvi  rcirc.dvi  reftex.dvi  remember.dvi  sasl.dvi  sc.dvi  semantic.dvi  ses.dvi  sieve.dvi  smtpmail.dvi  speedbar.dvi  srecode.dvi  todo-mode.dvi  tramp.dvi  url.dvi  vip.dvi  viper.dvi  widget.dvi  wisent.dvi  woman.dvi ada-mode.pdf  auth.pdf  autotype.pdf  bovine.pdf  calc.pdf  cc-mode.pdf  cl.pdf  dbus.pdf  dired-x.pdf  ebrowse.pdf  ede.pdf  ediff.pdf  edt.pdf  eieio.pdf  emacs-mime.pdf  epa.pdf  erc.pdf  ert.pdf  eshell.pdf  eudc.pdf  faq.pdf  flymake.pdf  forms.pdf  gnus.pdf  htmlfontify.pdf  emacs-gnutls.pdf  idlwave.pdf  ido.pdf  info.pdf  mairix-el.pdf  message.pdf  mh-e.pdf  newsticker.pdf  nxml-mode.pdf  org.pdf  pcl-cvs.pdf  pgg.pdf  rcirc.pdf  reftex.pdf  remember.pdf  sasl.pdf  sc.pdf  semantic.pdf  ses.pdf  sieve.pdf  smtpmail.pdf  speedbar.pdf  srecode.pdf  todo-mode.pdf  tramp.pdf  url.pdf  vip.pdf  viper.pdf  widget.pdf  wisent.pdf  woman.pdf
rm -f emacs-misc-24.3.50.tar*
cd /c/Devel/emacs/repo/trunk/doc/misc/../../info; for file in ada-mode auth autotype bovine calc ccmode cl  dbus dired-x ebrowse ede ediff edt eieio  emacs-mime epa erc ert eshell eudc efaq  flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info  mairix-el message mh-e newsticker nxml-mode  org pcl-cvs pgg rcirc remember reftex sasl  sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp  url vip viper widget wisent woman; do \
  file=`echo ${file} | sed 's/\.info$//'`.info; \
  rm -f ${file} ${file}-[1-9] ${file}-[1-9][0-9]; \
done
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/doc/misc'
(cd doc/lispref &&   make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/doc/lispref'
rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
  *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
rm -f elisp[12]* vol[12].tmp
rm -f elisp.dvi elisp.pdf elisp.ps
rm -f vol[12].dvi vol[12].pdf vol[12].ps
rm -rf elisp.html
rm -f emacs-lispref-24.3.50.tar*
cd /c/Devel/emacs/repo/trunk/doc/lispref/../../info && rm -f elisp.info elisp.info-[1-9] elisp.info-[1-9][0-9]
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/doc/lispref'
(cd doc/lispintro &&   make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/doc/lispintro'
rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
  *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
rm -f emacs-lisp-intro.dvi emacs-lisp-intro.pdf emacs-lisp-intro.ps
rm -rf emacs-lisp-intro.html/
rm -f emacs-lispintro-24.3.50.tar*
cd /c/Devel/emacs/repo/trunk/doc/lispintro/../../info && rm -f eintr.info eintr.info-[1-9]
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/doc/lispintro'
(cd leim;     make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/leim'
rm -f quail/CCDOSPY.el	 quail/Punct.el		 quail/QJ.el		 quail/SW.el		 quail/TONEPY.el quail/4Corner.el	 quail/ARRAY30.el	 quail/ECDICT.el	 quail/ETZY.el		 quail/Punct-b5.el	 quail/PY-b5.el		 quail/QJ-b5.el		 quail/ZOZY.el quail/tsang-b5.el	 quail/quick-b5.el	 quail/tsang-cns.el	 quail/quick-cns.el	 quail/PY.el		 quail/ZIRANMA.el	 quail/CTLau.el		 quail/CTLau-b5.el quail/CCDOSPY.elc quail/Punct.elc quail/QJ.elc quail/SW.elc quail/TONEPY.elc quail/4Corner.elc quail/ARRAY30.elc quail/ECDICT.elc quail/ETZY.elc quail/Punct-b5.elc quail/PY-b5.elc quail/QJ-b5.elc quail/ZOZY.elc quail/tsang-b5.elc quail/quick-b5.elc quail/tsang-cns.elc quail/quick-cns.elc quail/PY.elc quail/ZIRANMA.elc quail/CTLau.elc quail/CTLau-b5.elc \
	leim-list.el changed.tit changed.misc
SRC = /c/Devel/emacs/repo/trunk/leim
PWD = /c/Devel/emacs/repo/trunk/leim
[ `cd /c/Devel/emacs/repo/trunk/leim && /bin/pwd` != `/bin/pwd` ] && rm -rf quail
Makefile:190: recipe for target `distclean' failed
make[1]: [distclean] Error 1 (ignored)

[-- Attachment #3: unsuccessful.log --]
[-- Type: application/octet-stream, Size: 9224 bytes --]

[ -r "/c/devel/emacs/repo/trunk/src/config.in" ] || ( cd /c/devel/emacs/repo/trunk && autoheader )
(cd src;      make  bootstrap-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/src'
rm -f temacs.exe core *.core \#* *.o libXMenu11.a liblw.a
rm -f ../etc/DOC
rm -f bootstrap-emacs.exe emacs-24.3.50.exe
rm -f buildobj.h
rm -f globals.h gl-stamp
rm -f *.res *.tmp
rm -f emacs-*.*.*.exe emacs.exe
rm -rf deps
rm -f epaths.h config.h config.stamp stamp-h1 stamp-oldxmenu
if test -f ./.gdbinit; then \
  mv ./.gdbinit ./.gdbinit.save; \
  if test -f "/c/devel/emacs/repo/trunk/src/.gdbinit"; then rm -f ./.gdbinit.save; \
  else mv ./.gdbinit.save ./.gdbinit; fi; \
fi
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/src'
(cd oldXMenu; make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/oldXMenu'
rm -f libXMenu11.a Activate.o  AddPane.o  AddSel.o  ChgPane.o  ChgSel.o  Create.o  DelPane.o  DelSel.o  Destroy.o  Error.o  EvHand.o  FindPane.o  FindSel.o  InsPane.o  InsSel.o  Internal.o  Locate.o  Post.o  Recomp.o  SetAEQ.o  SetFrz.o  SetPane.o  SetSel.o  XDelAssoc.o XLookAssoc.o XCrAssoc.o XDestAssoc.o XMakeAssoc.o insque.o
rm -f Makefile
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/oldXMenu'
(cd lwlib;    make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/lwlib'
rm -f *.o liblw.a \#*
rm -f Makefile
rm -f TAGS
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/lwlib'
(cd lib;      make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/lib'
cd .. && make  am--refresh
make[2]: Entering directory `/c/Devel/emacs/repo/trunk'
[ -r "/c/devel/emacs/repo/trunk/src/config.in" ] || ( cd /c/devel/emacs/repo/trunk && autoheader )
make[2]: Nothing to be done for `am--refresh'.
make[2]: Leaving directory `/c/Devel/emacs/repo/trunk'
make[2]: Entering directory `/c/Devel/emacs/repo/trunk'
[ -r "/c/devel/emacs/repo/trunk/src/config.in" ] || ( cd /c/devel/emacs/repo/trunk && autoheader )
make[2]: Nothing to be done for `am--refresh'.
make[2]: Leaving directory `/c/Devel/emacs/repo/trunk'
test -z "" || rm -f 
test -z "libgnu.a " || rm -f libgnu.a 
rm -f *.o
test -z "core *.stackdump alloca.h  alloca.h-t errno.h errno.h-t  execinfo.h execinfo.h-t getopt.h  getopt.h-t arg-nonnull.h  arg-nonnull.h-t c++defs.h  c++defs.h-t warn-on-use.h  warn-on-use.h-t stdalign.h  stdalign.h-t stdarg.h stdarg.h-t  stdbool.h stdbool.h-t stddef.h  stddef.h-t stdint.h stdint.h-t " || rm -f core *.stackdump alloca.h  alloca.h-t errno.h errno.h-t  execinfo.h execinfo.h-t getopt.h  getopt.h-t arg-nonnull.h  arg-nonnull.h-t c++defs.h  c++defs.h-t warn-on-use.h  warn-on-use.h-t stdalign.h  stdalign.h-t stdarg.h stdarg.h-t  stdbool.h stdbool.h-t stddef.h  stddef.h-t stdint.h stdint.h-t 
rm -f *.tab.c
test -z "" || rm -f 
test . = "/c/devel/emacs/repo/trunk/lib" || test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
This command is intended for maintainers to use
it deletes files that may require special tools to rebuild.
test -z "alloca.h errno.h  execinfo.h getopt.h  arg-nonnull.h c++defs.h  warn-on-use.h        " || rm -f alloca.h errno.h  execinfo.h getopt.h  arg-nonnull.h c++defs.h  warn-on-use.h        
rm -rf ./.deps
rm -f Makefile
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/lib'
(cd lib-src;  make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/lib-src'
rm -f core *.o *.res
rm -f etags.exe ctags.exe emacsclient.exe emacsclientw.exe  ebrowse.exe profile.exe movemail.exe hexl.exe  update-game-score.exe test-distrib.exe make-docfile.exe
rm -f TAGS
rm -f Makefile blessmail
true
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/lib-src'
(cd nt;       make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/nt'
rm -f core *.o *.res
rm -f runemacs.exe addpm.exe cmdproxy.exe ddeclient.exe addsection.exe
rm -f TAGS
rm -f Makefile
true
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/nt'
(cd doc/emacs &&   make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/doc/emacs'
rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
  *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
rm -f emacs.dvi emacs-xtra.dvi emacs.pdf emacs-xtra.pdf \
  emacs.ps emacs-xtra.ps
rm -rf emacs.html/
rm -f emacs-manual-24.3.50.tar*
cd /c/devel/emacs/repo/trunk/doc/emacs/../../info && rm -f emacs.info emacs.info-[1-9] emacs.info-[1-9][0-9]
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/doc/emacs'
(cd doc/misc &&   make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/doc/misc'
rm -f *.aux *.log *.toc *.c[mp] *.c[mp]s *.fn *.fns \
  *.ky *.kys *.op *.ops *.p[gj] *.p[gj]s *.sc *.scs *.ss \
  *.t[gp] *.t[gp]s *.vr *.vrs
rm -f gnustmp.*
rm -f ada-mode.dvi  auth.dvi  autotype.dvi  bovine.dvi  calc.dvi  cc-mode.dvi  cl.dvi  dbus.dvi  dired-x.dvi  ebrowse.dvi  ede.dvi  ediff.dvi  edt.dvi  eieio.dvi  emacs-mime.dvi  epa.dvi  erc.dvi  ert.dvi  eshell.dvi  eudc.dvi  faq.dvi  flymake.dvi  forms.dvi  gnus.dvi  emacs-gnutls.dvi  htmlfontify.dvi  idlwave.dvi  ido.dvi  info.dvi  mairix-el.dvi  message.dvi  mh-e.dvi  newsticker.dvi  nxml-mode.dvi  org.dvi  pcl-cvs.dvi  pgg.dvi  rcirc.dvi  reftex.dvi  remember.dvi  sasl.dvi  sc.dvi  semantic.dvi  ses.dvi  sieve.dvi  smtpmail.dvi  speedbar.dvi  srecode.dvi  todo-mode.dvi  tramp.dvi  url.dvi  vip.dvi  viper.dvi  widget.dvi  wisent.dvi  woman.dvi ada-mode.pdf  auth.pdf  autotype.pdf  bovine.pdf  calc.pdf  cc-mode.pdf  cl.pdf  dbus.pdf  dired-x.pdf  ebrowse.pdf  ede.pdf  ediff.pdf  edt.pdf  eieio.pdf  emacs-mime.pdf  epa.pdf  erc.pdf  ert.pdf  eshell.pdf  eudc.pdf  faq.pdf  flymake.pdf  forms.pdf  gnus.pdf  htmlfontify.pdf  emacs-gnutls.pdf  idlwave.pdf  ido.pdf  info.pdf  mairix-el.pdf  message.pdf  mh-e.pdf  newsticker.pdf  nxml-mode.pdf  org.pdf  pcl-cvs.pdf  pgg.pdf  rcirc.pdf  reftex.pdf  remember.pdf  sasl.pdf  sc.pdf  semantic.pdf  ses.pdf  sieve.pdf  smtpmail.pdf  speedbar.pdf  srecode.pdf  todo-mode.pdf  tramp.pdf  url.pdf  vip.pdf  viper.pdf  widget.pdf  wisent.pdf  woman.pdf
rm -f emacs-misc-24.3.50.tar*
cd /c/devel/emacs/repo/trunk/doc/misc/../../info; for file in ada-mode auth autotype bovine calc ccmode cl  dbus dired-x ebrowse ede ediff edt eieio  emacs-mime epa erc ert eshell eudc efaq  flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info  mairix-el message mh-e newsticker nxml-mode  org pcl-cvs pgg rcirc remember reftex sasl  sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp  url vip viper widget wisent woman; do \
  file=`echo ${file} | sed 's/\.info$//'`.info; \
  rm -f ${file} ${file}-[1-9] ${file}-[1-9][0-9]; \
done
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/doc/misc'
(cd doc/lispref &&   make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/doc/lispref'
rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
  *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
rm -f elisp[12]* vol[12].tmp
rm -f elisp.dvi elisp.pdf elisp.ps
rm -f vol[12].dvi vol[12].pdf vol[12].ps
rm -rf elisp.html
rm -f emacs-lispref-24.3.50.tar*
cd /c/devel/emacs/repo/trunk/doc/lispref/../../info && rm -f elisp.info elisp.info-[1-9] elisp.info-[1-9][0-9]
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/doc/lispref'
(cd doc/lispintro &&   make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/doc/lispintro'
rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
  *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
rm -f emacs-lisp-intro.dvi emacs-lisp-intro.pdf emacs-lisp-intro.ps
rm -rf emacs-lisp-intro.html/
rm -f emacs-lispintro-24.3.50.tar*
cd /c/devel/emacs/repo/trunk/doc/lispintro/../../info && rm -f eintr.info eintr.info-[1-9]
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/doc/lispintro'
(cd leim;     make  maintainer-clean)
make[1]: Entering directory `/c/Devel/emacs/repo/trunk/leim'
rm -f quail/CCDOSPY.el	 quail/Punct.el		 quail/QJ.el		 quail/SW.el		 quail/TONEPY.el quail/4Corner.el	 quail/ARRAY30.el	 quail/ECDICT.el	 quail/ETZY.el		 quail/Punct-b5.el	 quail/PY-b5.el		 quail/QJ-b5.el		 quail/ZOZY.el quail/tsang-b5.el	 quail/quick-b5.el	 quail/tsang-cns.el	 quail/quick-cns.el	 quail/PY.el		 quail/ZIRANMA.el	 quail/CTLau.el		 quail/CTLau-b5.el quail/CCDOSPY.elc quail/Punct.elc quail/QJ.elc quail/SW.elc quail/TONEPY.elc quail/4Corner.elc quail/ARRAY30.elc quail/ECDICT.elc quail/ETZY.elc quail/Punct-b5.elc quail/PY-b5.elc quail/QJ-b5.elc quail/ZOZY.elc quail/tsang-b5.elc quail/quick-b5.elc quail/tsang-cns.elc quail/quick-cns.elc quail/PY.elc quail/ZIRANMA.elc quail/CTLau.elc quail/CTLau-b5.elc \
	leim-list.el changed.tit changed.misc
SRC = /c/devel/emacs/repo/trunk/leim
PWD = /c/Devel/emacs/repo/trunk/leim
[ `cd /c/devel/emacs/repo/trunk/leim && /bin/pwd` != `/bin/pwd` ] && rm -rf quail
rm -f Makefile
wins="/c/devel/emacs/repo/trunk/leim/ja-dic quail";  [ `cd /c/devel/emacs/repo/trunk/leim && /bin/pwd` != `/bin/pwd` ] &&  wins="$wins /c/devel/emacs/repo/trunk/leim/quail"; for w in $wins; do rm -f $w/*.elc; done
make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/leim'

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-11 21:39               ` Juanma Barranquero
@ 2013-08-12 12:01                 ` Eli Zaretskii
  2013-08-12 15:55                   ` Juanma Barranquero
  0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2013-08-12 12:01 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Sun, 11 Aug 2013 23:39:28 +0200
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> > Perhaps you should always create a log of a build (e.g., with 'tee'),
> > and collect those that fail like this.  Then, when you have a few, we
> > could see what do they have in common.
> 
> I have a log of this one, and the previous (successful) one.  See the
> attached files (the first ~120 lines of the next-to-last boot,
> successful.log, and the last, unsuccesful.log).

So in both cases you typed "make bootstrap", the Makefile's were all
identical, and you still got different results, is that true?  That
would mean you have a Heisenbug of some kind.

There is some difference between the two runs that might give a clue:

  @@ -29,13 +29,22 @@
   make[1]: Leaving directory `/c/Devel/emacs/repo/trunk/lwlib'
   (cd lib;      make  maintainer-clean)
   make[1]: Entering directory `/c/Devel/emacs/repo/trunk/lib'
  +cd .. && make  am--refresh
  +make[2]: Entering directory `/c/Devel/emacs/repo/trunk'
  +[ -r "/c/devel/emacs/repo/trunk/src/config.in" ] || ( cd /c/devel/emacs/repo/trunk && autoheader )
  +make[2]: Nothing to be done for `am--refresh'.
  +make[2]: Leaving directory `/c/Devel/emacs/repo/trunk'
  +make[2]: Entering directory `/c/Devel/emacs/repo/trunk'
  +[ -r "/c/devel/emacs/repo/trunk/src/config.in" ] || ( cd /c/devel/emacs/repo/trunk && autoheader )
  +make[2]: Nothing to be done for `am--refresh'.
  +make[2]: Leaving directory `/c/Devel/emacs/repo/trunk'
   test -z "" || rm -f 
   test -z "libgnu.a " || rm -f libgnu.a 
   rm -f *.o

Any idea why it does "am--refresh" in one case, but not the other?



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-12 12:01                 ` Eli Zaretskii
@ 2013-08-12 15:55                   ` Juanma Barranquero
  2013-08-12 16:25                     ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: Juanma Barranquero @ 2013-08-12 15:55 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs developers

On Mon, Aug 12, 2013 at 2:01 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> So in both cases you typed "make bootstrap"

In both cases I typed mboot, which runs the command I described (and
additionally redirects the output to "| tee trunk.log"). I never ever
bootstrap in any other way.

> the Makefile's were all identical,

I cannot be sure. I didn't bootstrap between the successful and
unsuccessful bootstraps, but I "bzr update"d and built the trunk a few
times, and sometimes that triggers configure.

> and you still got different results, is that true?

Yes.

> Any idea why it does "am--refresh" in one case, but not the other?

The dependency list of am--refresh isn't big:

  am--refresh: $(srcdir)/aclocal.m4 $(srcdir)/configure $(srcdir)/src/config.in

and I'm sure some or all these changed in the ~80 commits between
successful and unsuccesful. Though likely the reconfigure step wasn't
invoked during the unsuccessful bootstrap, but by some previous "make
all".

   J



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-12 15:55                   ` Juanma Barranquero
@ 2013-08-12 16:25                     ` Eli Zaretskii
  2013-08-12 16:29                       ` Juanma Barranquero
  0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2013-08-12 16:25 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 12 Aug 2013 17:55:09 +0200
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> On Mon, Aug 12, 2013 at 2:01 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > So in both cases you typed "make bootstrap"
> 
> In both cases I typed mboot, which runs the command I described (and
> additionally redirects the output to "| tee trunk.log"). I never ever
> bootstrap in any other way.
> 
> > the Makefile's were all identical,
> 
> I cannot be sure.

Then I suggest to collect the Makefile's as well, with each log.

> > Any idea why it does "am--refresh" in one case, but not the other?
> 
> The dependency list of am--refresh isn't big:
> 
>   am--refresh: $(srcdir)/aclocal.m4 $(srcdir)/configure $(srcdir)/src/config.in
> 
> and I'm sure some or all these changed in the ~80 commits between
> successful and unsuccesful. Though likely the reconfigure step wasn't
> invoked during the unsuccessful bootstrap, but by some previous "make
> all".

The question is: do all of the "bad" builds have this part in them?  I
think we need more statistics, and we need to compare the Makefile's
as well.



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-12 16:25                     ` Eli Zaretskii
@ 2013-08-12 16:29                       ` Juanma Barranquero
  2013-08-13 18:10                         ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: Juanma Barranquero @ 2013-08-12 16:29 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs developers

On Mon, Aug 12, 2013 at 6:25 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> Then I suggest to collect the Makefile's as well, with each log.

Will do.

> The question is: do all of the "bad" builds have this part in them?

Anecdotal evidence* suggests that all bad builds had reconfiguration,
but not all reconfigurations triggered a bad build.

(*In other words: I seem to remember that being the case. Will collect
more data.)

   J



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-12 16:29                       ` Juanma Barranquero
@ 2013-08-13 18:10                         ` Eli Zaretskii
  2013-08-13 22:33                           ` Juanma Barranquero
  0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2013-08-13 18:10 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Mon, 12 Aug 2013 18:29:13 +0200
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> On Mon, Aug 12, 2013 at 6:25 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > Then I suggest to collect the Makefile's as well, with each log.
> 
> Will do.
> 
> > The question is: do all of the "bad" builds have this part in them?
> 
> Anecdotal evidence* suggests that all bad builds had reconfiguration,
> but not all reconfigurations triggered a bad build.

There's one other player in this drama: config.status.  Can you look
inside it and see how it spells srcdir values?  Also, please compare
config.status from a good and a bad build.

Are you using MSYS Sed and Gawk?  Or is there a chance one or both of
these are MinGW programs?



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-13 18:10                         ` Eli Zaretskii
@ 2013-08-13 22:33                           ` Juanma Barranquero
  2013-08-14  2:54                             ` Eli Zaretskii
  2013-08-14 15:17                             ` Eli Zaretskii
  0 siblings, 2 replies; 22+ messages in thread
From: Juanma Barranquero @ 2013-08-13 22:33 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs developers

On Tue, Aug 13, 2013 at 8:10 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> There's one other player in this drama: config.status.  Can you look
> inside it and see how it spells srcdir values?

Currently,

srcdir='/c/devel/emacs/repo/trunk'

though the last bootstrap was "good".

>  Also, please compare
> config.status from a good and a bad build.

Yes, I'll start saving makefiles and config.status before every bootstrap.

> Are you using MSYS Sed and Gawk?  Or is there a chance one or both of
> these are MinGW programs?

I have no sed or gawk in mingw\bin, though I have them in gnu\bin
(that's GnuWin32). But they come after mingw\msys\1.0\bin in the sh
path.

   J



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-13 22:33                           ` Juanma Barranquero
@ 2013-08-14  2:54                             ` Eli Zaretskii
  2013-08-14 15:17                             ` Eli Zaretskii
  1 sibling, 0 replies; 22+ messages in thread
From: Eli Zaretskii @ 2013-08-14  2:54 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Wed, 14 Aug 2013 00:33:45 +0200
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> On Tue, Aug 13, 2013 at 8:10 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > There's one other player in this drama: config.status.  Can you look
> > inside it and see how it spells srcdir values?
> 
> Currently,
> 
> srcdir='/c/devel/emacs/repo/trunk'
> 
> though the last bootstrap was "good".

Then that's probably the source of the problem.  We need to try to
understand why config.status has the file name downcased.



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-13 22:33                           ` Juanma Barranquero
  2013-08-14  2:54                             ` Eli Zaretskii
@ 2013-08-14 15:17                             ` Eli Zaretskii
  2013-08-14 16:15                               ` Juanma Barranquero
  1 sibling, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2013-08-14 15:17 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Wed, 14 Aug 2013 00:33:45 +0200
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> srcdir='/c/devel/emacs/repo/trunk'
> 
> though the last bootstrap was "good".
> 
> >  Also, please compare
> > config.status from a good and a bad build.
> 
> Yes, I'll start saving makefiles and config.status before every bootstrap.

One way of figuring out how the downcasing happens when configure
creates config.status is to put a line saying "set -x" at the
beginning of configure.  This produces voluminous output, but it shows
every evaluation result, so can be searched for when Devel becomes
devel.



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: make distclean and quail
  2013-08-14 15:17                             ` Eli Zaretskii
@ 2013-08-14 16:15                               ` Juanma Barranquero
  0 siblings, 0 replies; 22+ messages in thread
From: Juanma Barranquero @ 2013-08-14 16:15 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs developers

On Wed, Aug 14, 2013 at 5:17 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> One way of figuring out how the downcasing happens when configure
> creates config.status is to put a line saying "set -x" at the
> beginning of configure.  This produces voluminous output, but it shows
> every evaluation result, so can be searched for when Devel becomes
> devel.

Funny thing is, if I invoke configure directly, I mean

cd nt
./msysconfig.sh ;; my args

the result is srcdir=/c/Devel/emacs/repo/trunk

Seems like it only happens when configure is run from make bootstrap.
I have a full log from a "bad" bootstrap (this very morning), but that
was before adding "set -x", alas.

FWIW, looking at the log I've noticed that, when "make bootstrap"
decides that it wants to reconfigure, the reconfiguration happens
twice.

- reconfigure
- make clean (I think)
- the autogen stuff to check for autoconf / automake
- reconfigure again.

   J



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2013-08-14 16:15 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-15 11:41 make distclean and quail Juanma Barranquero
2013-07-15 15:05 ` Paul Eggert
2013-07-15 15:13   ` Juanma Barranquero
2013-07-15 15:42 ` Eli Zaretskii
2013-07-15 15:56   ` Juanma Barranquero
2013-07-15 16:09     ` Eli Zaretskii
2013-07-15 16:18       ` Juanma Barranquero
2013-08-11  2:48       ` Juanma Barranquero
2013-08-11  3:56         ` chad
2013-08-11 17:17         ` Eli Zaretskii
2013-08-11 17:49           ` Juanma Barranquero
2013-08-11 19:25             ` Eli Zaretskii
2013-08-11 21:39               ` Juanma Barranquero
2013-08-12 12:01                 ` Eli Zaretskii
2013-08-12 15:55                   ` Juanma Barranquero
2013-08-12 16:25                     ` Eli Zaretskii
2013-08-12 16:29                       ` Juanma Barranquero
2013-08-13 18:10                         ` Eli Zaretskii
2013-08-13 22:33                           ` Juanma Barranquero
2013-08-14  2:54                             ` Eli Zaretskii
2013-08-14 15:17                             ` Eli Zaretskii
2013-08-14 16:15                               ` Juanma Barranquero

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).