emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bootstrap failure on MS-Windows


From: Dani Moncayo
Subject: Bootstrap failure on MS-Windows
Date: Sat, 2 Nov 2013 19:04:14 +0100

Hello,

Today, I've tried to do a bootstrap of the current trunk, after two
weeks (since 2013-10-19), using the same method (autogen + mysconfig +
make) and the same build environment of the last time.

But "make" fails at this point:

  make[2]: Leaving directory `/usr/home/dani/emacs/build/lisp'
  if test "no" = "yes"; then \
    rm -f bootstrap-emacs.exe; \
    ln temacs.exe bootstrap-emacs.exe; \
  else \
    ./temacs --batch --load loadup bootstrap || exit 1; \
    test "X" = X ||  -zex emacs.exe; \
    mv -f emacs.exe bootstrap-emacs.exe; \
  fi
  Warning: arch-independent data dir
`%emacs_dir%/share/emacs/24.3.50/etc/': Permission denied
  Error: charsets directory not found:
 c:/msys/home/dani/emacs/build/src/%emacs_dir%/share/emacs/24.3.50/etc/charsets
  Emacs will not function correctly without the character map files.
  Please check your installation!
  Makefile:836: recipe for target `bootstrap-emacs.exe' failed
  make[1]: *** [bootstrap-emacs.exe] Error 1
  make[1]: Leaving directory `/usr/home/dani/emacs/build/src'
  Makefile:384: recipe for target `src' failed
  make: *** [src] Error 2

We've already seen this error not long ago [1], and that time, the
problem was related to the way of translating MSYS paths to Windows
native paths.  This fragment was added then to `configure.ac' to fix
the problem:

  #### 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,')`

So I've done one test at this point, to try to track the problem down.
I've inserted a couple of sentences around the above one, in order to
see whether the root of my source tree was correctly stored in
`abs_srcdir':

  echo "(before) abs_srcdir=$abs_srcdir"
  test "$MSYSTEM" = "MINGW32" && abs_srcdir=`(cd "$abs_srcdir"; pwd -W
| sed -e 's,^\([A-Za-z]\):,/\1,')`
  echo "(after) abs_srcdir=$abs_srcdir"

And this is what I see:

  (before) abs_srcdir=
  (after) abs_srcdir=/C/msys/home/dani/emacs/build

Questions:

1. `abs_srcdir' seems to be empty or undefined before the above
assignment (because "echo" prints nothing).  That seems already wrong.

2. Oddly enough, the value after the assignment suggests that
`abs_srcdir' had a value, because otherwise `pwd -W' would have been
executed in my MSYS home directory, and then the assigned value would
have been "/C/msys/home/dani".

3. In any case, the value actually assigned to `abs_srcdir' is wrong,
since my source code tree is under "/C/msys/home/dani/emacs/repo"
("/C/msys/home/dani/emacs/build" is my build directory).


Help please.  TIA.


--- Footnotes ---

[1] http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00210.html


-- 
Dani Moncayo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]