Subject: Re: bug#19989: 25.0.50; Build instructions on Windows

From: Ilya Zakharevich <[email-masked]>
Date: Tue, 3 Mar 2015 12:30:37 -0800

On Tue, Mar 03, 2015 at 07:21:03PM +0200, Eli Zaretskii wrote:
> > Date: Tue, 03 Mar 2015 19:00:09 +0200
> > From: Eli Zaretskii <[email-masked]>
> > Cc: [email-masked]
> > 
> > >   • mingw shell sets path to (essentially) FOO/msys/1.0/mingw/bin (here FOO
> > >         is the install path), but there is no directory
> > >           FOO/msys/1.0/mingw
> > >         what is is
> > >           FOO/bin
> > >     So I needed to make a symbolic link (Windows style required) by
> > >     running
> > >         mklink /j mingw FOO
> > >     in FOO/msys/1.0

> > FWIW, the 2nd issue sounds to me like an installation mistake of some
> > kind (did you install MinGW inside the MSYS tree, by chance?).

How would I know?  I just ran mingw-get (as described), and set
install directory ( = FOO) once.

The result:
  FOO/bin		- contains gcc executables etc
  FOO/msys/1.0/		- contains msys
  FOO/msys/1.0/bin	- contains msys executables

> >  But
> > I'm not an expert; all I know is that on my system, the MSYS Bash
> > window has PATH set to whatever my system-wide PATH is, with these
> > directories prepended:
> > 
> >   .:/usr/local/bin:/mingw/bin:/bin:
> > 
> > IOW, no msys/1.0/mingw/ anywhere in sight.

???  Of course it IS in sight:

  /bin	       IS native   FOO/msys/1.0/bin
  /mingw/bin   IS native   FOO/msys/1.0/mingw/bin

> Btw, there's nothing magic in the PATH value: it is set in
> /etc/profile (probably FOO/msys/etc/profile in your case), and you can
> edit it to your heart's content.

Only if one KNOWS what all these slashes-etc MEAN.  As you see, even
*you* got lost what denotes which native directory.  If what the users
know is what is in nt/INSTALL, they have no way to deduce this info.   

=======================================================

BTW: you reminded me: there is another bug in Emacs build — this one
purely in Emacs.  My default PATH accesses a complete cygwin
installation, and:

  •  Emacs won’t build unless I unset PATH before running the msys shell.

I expect that the detection of presence of dependencies is not
“specific enough”:

  • it can see “something” present on PATH, and
  • it does not check that “this” won’t actually build with mingw
    being first on PATH. 

Ilya