emacs-devel
[Top][All Lists]
Advanced

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

Re: make bootsrap problems


From: Espen Wiborg
Subject: Re: make bootsrap problems
Date: Tue, 27 May 2008 15:36:56 +0200
User-agent: Gnus/5.110009 (No Gnus v0.9) Emacs/23.0.60 (gnu/linux)

David Kastrup <address@hidden> writes:
> Michael Kifer <address@hidden> writes:
>> In the latest cvs version under Ubuntu 8.04, I am getting:
>>
>> make maintainer-clean
>> configure
>> make bootstrap
>>
<-snip->
>> sed -f temp.sed /home/users/kifer/gnu/emacs/lisp/Makefile.in > temp-elcfiles 
>> || rm temp-elcfiles
>> sed: file temp.sed line 3: unknown command: `('
>> rm temp.sed
>> chmod +w /home/users/kifer/gnu/emacs/lisp/Makefile.in
>> mv -f temp-elcfiles /home/users/kifer/gnu/emacs/lisp/Makefile.in || echo 
>> "Maintainer warning: failed to update Makefile.in"
>> mv: cannot stat `temp-elcfiles': No such file or directory
>> Maintainer warning: failed to update Makefile.in
>
> Me too.  The culprit would likely be
>
> ## Construct a sed command file that operates on lines between
> ## ^ELCFILES and the next blank line.  Convert spaces between members
> ## of COMPILE_FIRST to "\|", and escape directory "/".  List the .elc
> ## files, exclude the members of COMPILE_FIRST, convert ^$(lisp) to a
> ## literal " $(lisp)", add trailing " \\\" to the end of every line
> ## (the last \ continues the line in sed, the other \\ result in a
> ## single \ at the end of the replacement text).  For the last line,
> ## just use a single "\", for sed.  Finally, run sed using the command
> ## so constructed and update Makefile.in.  chmod +w is for CVSREAD=1.
> ## Errors in final sed are non-fatal, since they have no effect on
> ## building Emacs.
> update-elclist:
<-snip->
>
> in lisp/Makefile.in.  In particular, "Finally, run sed using the command
> so constructed and update Makefile.in." since the preceding recipe does
> not actually construct a command, but just a part of it.

The problem is that the generated sed script is missing a line
continuation backslash.

The following patch fixes:

Index: lisp/Makefile.in
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/Makefile.in,v
retrieving revision 1.123
diff -c -r1.123 Makefile.in
*** lisp/Makefile.in    27 May 2008 02:14:46 -0000      1.123
--- lisp/Makefile.in    27 May 2008 13:21:27 -0000
***************
*** 164,170 ****
  ## building Emacs.
  update-elclist:
        echo "/^ELCFILES/,/^$$/c\\" > temp.sed
!       echo "ELCFILES = \\\\\\" >> temp.sed
        exclude=`echo $(COMPILE_FIRST) | sed -e 's, ,\\\\|,g' -e 
's,\/,\\\\/,g'`; \
        ls $(lisp)/*.elc $(lisp)/*/*.elc | sed -e "/$$exclude/d" -e 
"s|^$(lisp)|        \$$(lisp)|" -e 's/$$/ \\\\\\/' -e '$$ s/ \\\\//' >> temp.sed
        echo "" >> temp.sed
--- 164,170 ----
  ## building Emacs.
  update-elclist:
        echo "/^ELCFILES/,/^$$/c\\" > temp.sed
!       echo "ELCFILES = \\\\\\\\\\" >> temp.sed
        exclude=`echo $(COMPILE_FIRST) | sed -e 's, ,\\\\|,g' -e 
's,\/,\\\\/,g'`; \
        ls $(lisp)/*.elc $(lisp)/*/*.elc | sed -e "/$$exclude/d" -e 
"s|^$(lisp)|        \$$(lisp)|" -e 's/$$/ \\\\\\/' -e '$$ s/ \\\\//' >> temp.sed
        echo "" >> temp.sed


-- 
Espen Wiborg <address@hidden>
Thermodynamics in a nutshell:
1st Law:  You can't win.  (Energy is conserved)
2nd Law:  You can't break even.  (Entropy)
0th Law:  You can't even quit the game.  (Closed systems) -- Taki Kogoma




reply via email to

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