[Top][All Lists]

[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.

reply via email to

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