[Top][All Lists]

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

Re: CVS Emacs cygwin build problem.

From: Steven Wu
Subject: Re: CVS Emacs cygwin build problem.
Date: Fri, 19 May 2006 07:06:39 -0700

On May 19, 2006, at 4:33 AM, Eli Zaretskii wrote:

Date: Thu, 18 May 2006 23:47:37 -0700
From: "Steven Wu" <address@hidden>

Cannot open load file: encoded-kb
Signal 127
make[1]: *** [autoloads] Error 255
make[1]: Leaving directory `/cygdrive/c/dev/emacs-src/emacs/lisp'

This only happens to cygwin, but not MinGW or Visual Studio build.
The problem is that the default make mode for make 3.80, which comes
with the std cygwin distribution, is Unix mode. Hence, the paths of
directories and files known to make are in Unix form.  During the
compilation of c code, there is no problem because cygwin gcc
understand cygwin path. However when bootstrapping the elisp files,
things are different.

In the emacs/lisp/makefile.w32-in, line 30

lisp = $(CURDIR)

here lisp is set to the current directory. For nmake, or minGW make,
this $(CURDIR) is window path. For cygwin, this is cygwin unix-like
path. Because Emacs isn't compiled with cygwin libraries, Emacs
doesn't understand cygwin path, and hence it cannot load the encoded-kb.

Sorry, I'm confused: are you building a Cygwin version of Emacs, or a
native Windows version?  If the former, you should configure and build
Emacs as on Unix: type "./configure" and then "make" in the top-level
directory.  Only if you are building a native Windows port of Emacs
should you chdir to the `nt' directory and use configure.bat from
there followed by a "make" command from that directory.  In the latter
case, you should not use the Cygwin make: the file nt/INSTALL clearly
indicates that doing so fails precisely due to the problem you saw:
the incompatible /cygdrive/c/foo syntax of file names.

Currently the configure.bat allows --with-gcc, when under cygwin, it correctly uses -mno-cygwin flag. This option allows Emacs to be built window native with cygwin development environment. I have done it with the fixed I mentioned. It works fine.


reply via email to

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