Subject: Re: bug#14503: 24.3.50; MSYS out-of-tree build fails

From: Richard Copley <[email-masked]>
Date: Sun, 2 Jun 2013 18:02:07 +0100

On 30 May 2013 00:48, Richard Copley <[email-masked]> wrote:

> On 29 May 2013 18:12, Eli Zaretskii <[email-masked]> wrote:
> >> Date: Wed, 29 May 2013 14:49:49 +0100
> >> From: Richard Copley <[email-masked]>
> >>
> >> Building Emacs on Windows according to nt/INSTALL.MSYS,
> >> outside the source tree as recommended, "make -k bootstrap"
> >> fails while processing {build_dir}/lib/Makefile, with the errors:
> >>
> >> make[2]: Entering directory `/c/emacs/build/lib'
> >> make[2]: *** No rule to make target `alloca.in.h', needed by `alloca.h'.
> >> make[2]: *** No rule to make target `errno.in.h', needed by `errno.h'.
> >> make[2]: *** No rule to make target `execinfo.in.h', needed by
> `execinfo.h'.
> >> make[2]: *** No rule to make target `getopt.in.h', needed by `getopt.h'.
> >
> > Looks like "make bootstrap" is currently broken on Windows when you do
> > that outside of the source tree.  The problem is tricky, I will fix it
> > when I have time.  (Btw, the problem I saw does not manifest itself by
> > the above error messages, it fails in a different way.)
> >
> > Anyway, you don't need "make bootstrap" on the first build with the
> > MSYS method.  In fact, you shouldn't need "make bootstrap" at all,
> > unless there are deep changes in Lisp that break a normal "make"
> > build.  And, contrary to what you say, there's no recommendation to
> > bootstrap in INSTALL.MSYS, it says to use just "make".
> >
> > I just tried a build with "make" outside of the source tree, and I
> > didn't have the above problems.  (There's a VPATH line in lib/Makefile
> > that points to the source directory and allows Make to find the
> > prerequisites.)
>
> Thanks. I tried that too after reading your reply and got the same
> errors again. Possibly there's an issue with VPATH support in the
> default MSYS Make. In any case, I don't get this problem with the
> pre-release version of Make mentioned in INSTALL.MSYS.
>

... but the out-of-tree build is still broken (even with the pre-release
make, and without bootstrap).

The failures are:

Compiling g:/emacs/trunk/lisp/calc/calc-aent.el

In toplevel form:
../../trunk/lisp/calc/calc-aent.el:29:1:Error: Cannot open load file:
calc-loaddefs.el
Makefile:247: recipe for target `calc/calc-aent.elc' failed
make[2]: *** [calc/calc-aent.elc] Error 1
make[2]: Leaving directory `/g/emacs/build/lisp'

Compiling g:/emacs/trunk/lisp/eshell/em-alias.el

In toplevel form:
../../trunk/lisp/eshell/em-alias.el:93:1:Error: Cannot open load file:
esh-groups
Makefile:247: recipe for target `eshell/em-alias.elc' failed
make[2]: *** [eshell/em-alias.elc] Error 1
make[2]: Leaving directory `/g/emacs/build/lisp'

Compiling g:/emacs/trunk/lisp/org/ob-calc.el

In toplevel form:
../../trunk/lisp/org/ob-calc.el:30:1:Error: Cannot open load file:
calc-loaddefs.el
Makefile:247: recipe for target `org/ob-calc.elc' failed
make[2]: *** [org/ob-calc.elc] Error 1
make[2]: Leaving directory `/g/emacs/build/lisp'