[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Trunk broken on MS-Windows
From: |
Eli Zaretskii |
Subject: |
Re: Trunk broken on MS-Windows |
Date: |
Sat, 08 Nov 2014 22:40:52 +0200 |
> Date: Sat, 08 Nov 2014 22:00:21 +0200
> From: Eli Zaretskii <address@hidden>
> Cc: address@hidden
>
> The build fails with these error messages:
>
> Warning: arch-independent data dir `%emacs_dir%/share/emacs/25.0.50/etc/':
> Permission denied
> Warning: Lisp directory `./lisp': No such file or directory
> Error: charsets directory not found:
> d:/gnu/bzr/emacs/trunk/src/%emacs_dir%/share/emacs/25.0.50/etc/charsets
> Emacs will not function correctly without the character map files.
> Please check your installation!
> Makefile:833: recipe for target `bootstrap-emacs.exe' failed
> make[1]: *** [bootstrap-emacs.exe] Error 1
>
> Looks like some fallout from commits in r118316..118318.
The problem is with editing nt/epaths.nt into src/epaths.in, and
specifically with editing of @address@hidden Instead of substituting the
absolute file name of the top-level directory, Makefile now
substitutes just ".", so we end up with
#define PATH_DUMPLOADSEARCH "./lisp"
instead of the correct
#define PATH_DUMPLOADSEARCH "d:/foo/bar/baz/lisp"
This makes this portion of init_callproc fail:
if (data_dir == 0)
{
Lisp_Object tem, tem1, srcdir;
Lisp_Object lispdir = Fcar (decode_env_path (0, PATH_DUMPLOADSEARCH, 0));
srcdir = Fexpand_file_name (build_string ("../src/"), lispdir);
tem = Fexpand_file_name (build_string ("NEWS"), Vdata_directory);
tem1 = Ffile_exists_p (tem);
if (!NILP (Fequal (srcdir, Vinvocation_directory)) || NILP (tem1))
{
Lisp_Object newdir;
newdir = Fexpand_file_name (build_string ("../etc/"), lispdir);
tem = Fexpand_file_name (build_string ("NEWS"), newdir);
tem1 = Ffile_exists_p (tem);
if (!NILP (tem1))
Vdata_directory = newdir;
}
}
because when lispdir is just "./lisp", expand-file-name yields
d:/foo/bar/baz/src/src, since it expands "." into the directory where
temacs runs.
IOW, the new editing of epaths.h will probably fail for anyone who
builds inside the source tree.