[Top][All Lists]

[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

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

reply via email to

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