all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dani Moncayo <dmoncayo@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Emacs development discussions <emacs-devel@gnu.org>
Subject: Re: Bootstrap failure on MS-Windows
Date: Tue, 5 Nov 2013 22:08:51 +0100	[thread overview]
Message-ID: <CAH8Pv0gQzhGEinfTr4mAQtCzJ2fqF1O-xOyNB994e8WoT-yDLg@mail.gmail.com> (raw)
In-Reply-To: <83mwli7gwq.fsf@gnu.org>

>> I've tried again with that correction, but I see the same failure.
>>
>> I may provide any necessary info to investigate this further (though I
>> think that this problem should be trivial to reproduce by anyone who
>> builds Emacs on MS-Windows).
>
> The relevant piece of information is src/epaths.h.  But really, Dani,
> you are the only person who is motivated enough to dig into this, so
> please do.  The issue cannot be too complicated: what happens here is
> that Emacs does not find its lisp subdirectory, and therefore looks
> for the one in the installation tree, which doesn't yet exist.

It seems that Glenn's patch (with Eli's fix) was almost correct.

After a bit of observation to the output of "msysconfig", I found a
problem in this line:

  @(w32srcdir=`cd "$srcdir"; pwd -W | sed -e 's,^\([A-Za-z]\):,/\1,' |
${msys_to_w32}` ; \
                   ^^^^^^^

It seems that the shell was expanding "$s" to the empty string, so
that the command finally executed was "cd rcdir; pwd -W | ..."

I've fixed this by replacing "$srcdir" with "${srcdir}".

So this is the final patch that has worked for me:

diff --git a/Makefile.in b/Makefile.in
index 461f0cb..39bdc5d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -342,8 +342,16 @@ msys_sed_sh_escape=sed -e 's/[];$$*.^[]/\\\\&/g'
 # nt/epaths.nt as the template.
 # Use the value of ${locallisppath} supplied by `configure',
 # to support the --enable-locallisppath argument.
+#
+# When building with MinGW inside the MSYS tree, 'pwd' produces directories
+# relative to the root of the MSYS tree, e.g. '/home/user/foo' instead of
+# '/d/MSYS/home/user/foo'.  If such a value of srcdir is written to
+# src/epaths.h, that causes temacs to fail, because, being a MinGW
+# program that knows nothing of MSYS root substitution, it cannot find
+# the data directory.  "pwd -W" produces Windows-style 'd:/foo/bar'
+# absolute directory names, so we use it here to countermand that lossage.
 epaths-force-w32: FRC
- @(w32srcdir=`echo "${abs_srcdir}" | ${msys_to_w32}` ; \
+ @(w32srcdir=`cd "${srcdir}"; pwd -W | sed -e 's,^\([A-Za-z]\):,/\1,'
| ${msys_to_w32}` ; \
   prefixpattern=`echo '${prefix}' | ${msys_to_w32} | ${msys_sed_sh_escape}` ; \
   locallisppath=`echo '${locallisppath}' | ${msys_lisppath_to_w32} |
${msys_prefix_subst}` ; \
   sed < ${srcdir}/nt/epaths.nt > epaths.h.$$$$ \
diff --git a/configure.ac b/configure.ac
index cb97564..a8fb34b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -419,17 +419,6 @@ AC_ARG_ENABLE(gtk-deprecation-warnings,
  [Show Gtk+/Gdk deprecation warnings for Gtk+ >= 3.0])],
 [ac_enable_gtk_deprecation_warnings="${enableval}"],[])

-#### When building with MinGW inside the MSYS tree, 'pwd' produces
-#### directories relative to the root of the MSYS tree,
-#### e.g. '/home/user/foo' instead of '/d/MSYS/home/user/foo'.  When
-#### such a value of srcdir is written to the top-level Makefile, it
-#### gets propagated to src/epaths.h, and that causes temacs to fail,
-#### because, being a MinGW program that knows nothing of MSYS root
-#### substitution, it cannot find the data directory.  "pwd -W"
-#### produces Windows-style 'd:/foo/bar' absolute directory names, so
-#### we use it here to countermand that lossage.
-test "$MSYSTEM" = "MINGW32" && abs_srcdir=`(cd "$abs_srcdir"; pwd -W
| sed -e 's,^\([[A-Za-z]]\):,/\1,')`
-
 ### Canonicalize the configuration name.

 AC_CANONICAL_HOST


-- 
Dani Moncayo



  reply	other threads:[~2013-11-05 21:08 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-02 18:04 Bootstrap failure on MS-Windows Dani Moncayo
2013-11-02 18:52 ` Glenn Morris
2013-11-05  8:24   ` Glenn Morris
2013-11-05 18:14     ` Dani Moncayo
2013-11-05 18:26       ` Eli Zaretskii
2013-11-05 19:46         ` Dani Moncayo
2013-11-05 20:05           ` Eli Zaretskii
2013-11-05 21:08             ` Dani Moncayo [this message]
2013-11-05 21:52               ` Glenn Morris
2013-11-06 15:38               ` Dani Moncayo
2013-11-06 20:32                 ` Glenn Morris
2013-11-06 20:50                   ` Eli Zaretskii
2013-11-06 20:55                     ` Glenn Morris
2013-11-12  2:42                 ` Glenn Morris
2013-11-06  0:27             ` Óscar Fuentes
2013-11-06  1:35               ` Glenn Morris
2013-11-06  1:42                 ` Glenn Morris
2013-11-06 13:59             ` Andy Moreton
2013-11-06 17:08               ` Eli Zaretskii
2013-11-06 20:24                 ` Andy Moreton
2013-11-08 10:32                   ` Andy Moreton
2013-11-08 11:02                     ` Eli Zaretskii
2013-11-08 13:34                       ` Andy Moreton
2013-11-08 14:18                         ` Eli Zaretskii
2013-11-09 12:36                           ` Andy Moreton
2013-11-09 13:19                             ` Eli Zaretskii
2013-11-10 21:21                               ` Andy Moreton
2013-11-09 13:24                             ` Jarek Czekalski
2013-11-09 13:51                               ` Eli Zaretskii
2013-11-09 14:33                                 ` Dani Moncayo
2013-11-09 15:18                                   ` Eli Zaretskii
2013-11-05 20:29           ` Glenn Morris
2013-11-05 21:09             ` Dani Moncayo
2013-11-05 20:29         ` Glenn Morris
2013-11-05 18:27       ` Glenn Morris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAH8Pv0gQzhGEinfTr4mAQtCzJ2fqF1O-xOyNB994e8WoT-yDLg@mail.gmail.com \
    --to=dmoncayo@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.