[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
build failure 2 emacs-26 branch on Mingw64
From: |
Stephen Leake |
Subject: |
build failure 2 emacs-26 branch on Mingw64 |
Date: |
Mon, 01 Jan 2018 07:19:05 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (windows-nt) |
Building emacs-26 branch on Mingw64, in a fresh checkout, make fails
with:
make[2]: Leaving directory 'C:/Projects/emacs/emacs-26/lisp'
make[1]: *** No rule to make target '../lisp/\n', needed by '../etc/DOC'. Stop.
make[1]: Leaving directory 'C:/Projects/emacs/emacs-26/src'
make: *** [Makefile:415: src] Error 2
This is due to a bad sed command for building lisp.mk. The current
command is:
${AM_V_GEN}( printf 'shortlisp = \\\n'; \
sed -n 's/^[ \t]*(load "\([^"]*\)".*/\1/p' $< | \
sed -e 's/$$/.elc \\/' -e 's/\.el\.elc/.el/'; \
echo "" ) > $@
The escaped backslashes need to be doubled:
${AM_V_GEN}( printf 'shortlisp = \\\\\n'; \
sed -n 's/^[ \t]*(load "\([^"]*\)".*/\1/p' $< | \
sed -e 's/$$/.elc \\\\/' -e 's/\.el\.elc/.el/'; \
echo "" ) > $@
There are three executables involved that determine the backslash
quoting required: make, bash, and sed. I have:
$ make --version
GNU Make 4.2.1
Built for x86_64-w64-mingw32
Copyright (C) 1988-2016 Free Software Foundation, Inc.
$ bash --version
GNU bash, version 4.4.12(1)-release (x86_64-pc-msys)
Copyright (C) 2016 Free Software Foundation, Inc.
$ sed --version
sed (GNU sed) 4.4
Copyright (C) 2017 Free Software Foundation, Inc.
all installed by mingw64 pacman fairly recently; the executable files
are all dated Feb 2017.
--
-- Stephe
- build failure 2 emacs-26 branch on Mingw64,
Stephen Leake <=