* make bootsrap problems @ 2008-05-27 9:56 ` Michael Kifer 2008-05-27 10:44 ` David Kastrup 2008-05-29 23:25 ` bug#323: marked as done (make bootsrap problems) Emacs bug Tracking System 0 siblings, 2 replies; 10+ messages in thread From: Michael Kifer @ 2008-05-27 9:56 UTC (permalink / raw) To: emacs-pretest-bug In the latest cvs version under Ubuntu 8.04, I am getting: make maintainer-clean configure make bootstrap ... echo "ELCFILES = \\\\\\" >> temp.sed exclude=`echo /home/users/kifer/gnu/emacs/lisp/emacs-lisp/byte-opt.el /home/users/kifer/gnu/emacs/lisp/emacs-lisp/bytecomp.el /home/users/kifer/gnu/emacs/lisp/subr.el /home/users/kifer/gnu/emacs/lisp/progmodes/cc-mode.el /home/users/kifer/gnu/emacs/lisp/progmodes/cc-vars.el | sed -e 's, ,\\\\|,g' -e 's,\/,\\\\/,g'`; \ ls /home/users/kifer/gnu/emacs/lisp/*.elc /home/users/kifer/gnu/emacs/lisp/*/*.elc | sed -e "/$exclude/d" -e "s|^/home/users/kifer/gnu/emacs/lisp| \$(lisp)|" -e 's/$/ \\\\\\/' -e '$ s/ \\\\//' >> temp.sed echo "" >> temp.sed 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: make bootsrap problems 2008-05-27 9:56 ` make bootsrap problems Michael Kifer @ 2008-05-27 10:44 ` David Kastrup 2008-05-27 13:36 ` Espen Wiborg 2008-05-29 23:25 ` bug#323: marked as done (make bootsrap problems) Emacs bug Tracking System 1 sibling, 1 reply; 10+ messages in thread From: David Kastrup @ 2008-05-27 10:44 UTC (permalink / raw) To: kifer; +Cc: emacs-pretest-bug Michael Kifer <kifer@cs.sunysb.edu> writes: > In the latest cvs version under Ubuntu 8.04, I am getting: > > make maintainer-clean > configure > make bootstrap > > ... > > echo "ELCFILES = \\\\\\" >> temp.sed > exclude=`echo /home/users/kifer/gnu/emacs/lisp/emacs-lisp/byte-opt.el /home/users/kifer/gnu/emacs/lisp/emacs-lisp/bytecomp.el /home/users/kifer/gnu/emacs/lisp/subr.el /home/users/kifer/gnu/emacs/lisp/progmodes/cc-mode.el /home/users/kifer/gnu/emacs/lisp/progmodes/cc-vars.el | sed -e 's, ,\\\\|,g' -e 's,\/,\\\\/,g'`; \ > ls /home/users/kifer/gnu/emacs/lisp/*.elc /home/users/kifer/gnu/emacs/lisp/*/*.elc | sed -e "/$exclude/d" -e "s|^/home/users/kifer/gnu/emacs/lisp| \$(lisp)|" -e 's/$/ \\\\\\/' -e '$ s/ \\\\//' >> temp.sed > echo "" >> temp.sed > 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: 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 -sed -f temp.sed $(lisp)/Makefile.in > temp-elcfiles || rm temp-elcfiles rm temp.sed chmod +w $(lisp)/Makefile.in mv -f temp-elcfiles $(lisp)/Makefile.in || echo "Maintainer warning: failed to update Makefile.in" 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. I am not sure what the real intent here is. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: make bootsrap problems 2008-05-27 10:44 ` David Kastrup @ 2008-05-27 13:36 ` Espen Wiborg 2008-05-27 19:29 ` Glenn Morris 0 siblings, 1 reply; 10+ messages in thread From: Espen Wiborg @ 2008-05-27 13:36 UTC (permalink / raw) To: David Kastrup; +Cc: emacs-pretest-bug, kifer David Kastrup <dak@gnu.org> writes: > Michael Kifer <kifer@cs.sunysb.edu> 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 <espenhw@grumblesmurf.org> 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: make bootsrap problems 2008-05-27 13:36 ` Espen Wiborg @ 2008-05-27 19:29 ` Glenn Morris 2008-05-28 0:44 ` Glenn Morris 0 siblings, 1 reply; 10+ messages in thread From: Glenn Morris @ 2008-05-27 19:29 UTC (permalink / raw) To: Espen Wiborg; +Cc: emacs-pretest-bug, kifer Espen Wiborg wrote: > The problem is that the generated sed script is missing a line > continuation backslash. It works for me on several varieties of RHEL, and on Debian testing. > The following patch fixes: Not for me. Applying this patch, my generated Makefile.in ends up containing: ELCFILES = \\ $(lisp)/abbrev.elc \ rather than ELCFILES = \ $(lisp)/abbrev.elc \ I guess it's something to do with sed and/or /bin/sh versions. (It's not vital that this command work for everyone, though of course that is what I would like.) > 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 > > 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 I thought that was C.P. Snow. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: make bootsrap problems 2008-05-27 19:29 ` Glenn Morris @ 2008-05-28 0:44 ` Glenn Morris 2008-05-28 1:04 ` Glenn Morris 0 siblings, 1 reply; 10+ messages in thread From: Glenn Morris @ 2008-05-28 0:44 UTC (permalink / raw) To: Espen Wiborg; +Cc: emacs-pretest-bug, kifer I think I see what's going on now. I'm guessing you have /bin/sh pointing to zsh. zsh's echo behaves differently from bash's with regards to these backslash escapes: bash> echo "ELCFILES = \\\\\\" -> ELCFILES = \\\ zsh> echo "ELCFILES = \\\\\\" -> ELCFILES = \\ Hmph. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: make bootsrap problems 2008-05-28 0:44 ` Glenn Morris @ 2008-05-28 1:04 ` Glenn Morris 2008-05-28 7:08 ` Espen Wiborg 0 siblings, 1 reply; 10+ messages in thread From: Glenn Morris @ 2008-05-28 1:04 UTC (permalink / raw) To: Espen Wiborg; +Cc: emacs-pretest-bug, kifer Glenn Morris wrote: > I think I see what's going on now. I'm guessing you have /bin/sh > pointing to zsh. zsh's echo behaves differently from bash's with > regards to these backslash escapes: > > bash> echo "ELCFILES = \\\\\\" -> ELCFILES = \\\ > zsh> echo "ELCFILES = \\\\\\" -> ELCFILES = \\ The following ought to work for everyone. Blech. (Yes, I know I should be using printf rather than echo, but it isn't used anywhere else in the Emacs Makefiles, so I don't know if I'm allowed to.) *** Makefile.in 27 May 2008 02:14:46 -0000 1.123 --- Makefile.in 28 May 2008 00:52:31 -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 =" | sed -e 's/$$/ \\\\\\/' >> 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: make bootsrap problems 2008-05-28 1:04 ` Glenn Morris @ 2008-05-28 7:08 ` Espen Wiborg 0 siblings, 0 replies; 10+ messages in thread From: Espen Wiborg @ 2008-05-28 7:08 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-pretest-bug, kifer Glenn Morris <rgm@gnu.org> writes: > Glenn Morris wrote: >> I think I see what's going on now. I'm guessing you have /bin/sh >> pointing to zsh. zsh's echo behaves differently from bash's with >> regards to these backslash escapes: >> >> bash> echo "ELCFILES = \\\\\\" -> ELCFILES = \\\ >> zsh> echo "ELCFILES = \\\\\\" -> ELCFILES = \\ espenhw@demokritos:~/src/emacs$ ls -l /bin/sh lrwxrwxrwx 1 root root 4 2008-02-01 13:34 /bin/sh -> dash* espenhw@demokritos:~/src/emacs$ dash $ echo "ELCFILES = \\\\\\" ELCFILES = \\ So yes, the shell difference is the problem. > > The following ought to work for everyone. Blech. > > (Yes, I know I should be using printf rather than echo, but it isn't > used anywhere else in the Emacs Makefiles, so I don't know if I'm > allowed to.) I can confirm that this works for me. -- Espen Wiborg <espenhw@grumblesmurf.org> Meus Navis Aerius est Plena Anguillarum ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#323: marked as done (make bootsrap problems) 2008-05-27 9:56 ` make bootsrap problems Michael Kifer 2008-05-27 10:44 ` David Kastrup @ 2008-05-29 23:25 ` Emacs bug Tracking System 1 sibling, 0 replies; 10+ messages in thread From: Emacs bug Tracking System @ 2008-05-29 23:25 UTC (permalink / raw) To: Glenn Morris [-- Attachment #1: Type: text/plain, Size: 821 bytes --] Your message dated Thu, 29 May 2008 19:15:29 -0400 with message-id <18495.14609.229383.543607@fencepost.gnu.org> and subject line Re: make bootsrap problems has caused the Emacs bug report #323, regarding make bootsrap problems to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact don@donarmstrong.com immediately.) -- 323: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=323 Emacs Bug Tracking System Contact don@donarmstrong.com with problems [-- Attachment #2: Type: message/rfc822, Size: 5584 bytes --] From: Michael Kifer <kifer@cs.sunysb.edu> To: emacs-pretest-bug@gnu.org Cc: Subject: make bootsrap problems Date: Tue, 27 May 2008 05:56:00 -0400 Message-ID: <20080527055600.04681853@cs.sunysb.edu> In the latest cvs version under Ubuntu 8.04, I am getting: make maintainer-clean configure make bootstrap ... echo "ELCFILES = \\\\\\" >> temp.sed exclude=`echo /home/users/kifer/gnu/emacs/lisp/emacs-lisp/byte-opt.el /home/users/kifer/gnu/emacs/lisp/emacs-lisp/bytecomp.el /home/users/kifer/gnu/emacs/lisp/subr.el /home/users/kifer/gnu/emacs/lisp/progmodes/cc-mode.el /home/users/kifer/gnu/emacs/lisp/progmodes/cc-vars.el | sed -e 's, ,\\\\|,g' -e 's,\/,\\\\/,g'`; \ ls /home/users/kifer/gnu/emacs/lisp/*.elc /home/users/kifer/gnu/emacs/lisp/*/*.elc | sed -e "/$exclude/d" -e "s|^/home/users/kifer/gnu/emacs/lisp| \$(lisp)|" -e 's/$/ \\\\\\/' -e '$ s/ \\\\//' >> temp.sed echo "" >> temp.sed 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 [-- Attachment #3: Type: message/rfc822, Size: 1208 bytes --] From: Glenn Morris <rgm@gnu.org> To: 323-done@emacsbugs.donarmstrong.com Subject: Re: make bootsrap problems Date: Thu, 29 May 2008 19:15:29 -0400 Message-ID: <18495.14609.229383.543607@fencepost.gnu.org> this has been fixed. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: make bootsrap problems @ 2008-05-28 7:57 Angelo Graziosi 2008-05-28 8:02 ` Glenn Morris 0 siblings, 1 reply; 10+ messages in thread From: Angelo Graziosi @ 2008-05-28 7:57 UTC (permalink / raw) To: emacs-devel; +Cc: rgm Glenn Morris wrote: > I think I see what's going on now. I'm guessing you have /bin/sh > pointing to zsh. zsh's echo behaves differently from bash's with > regards to these backslash escapes: > > bash> echo "ELCFILES = \\\\\\" -> ELCFILES = \\\ > zsh> echo "ELCFILES = \\\\\\" -> ELCFILES = \\ I have GNU/Linux Kubuntu 8.04 and bash: $ echo $SHELL /bin/bash Running the above command from Makefile (make update-elcfiles) prints, in temp.sed, ELCFILES = \\ Instead, running from command line ELCFILES = \\\ There is a bug somewhere. Perhaps, in 'Hardy' ? Cheers, Angelo. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: make bootsrap problems 2008-05-28 7:57 make bootsrap problems Angelo Graziosi @ 2008-05-28 8:02 ` Glenn Morris 0 siblings, 0 replies; 10+ messages in thread From: Glenn Morris @ 2008-05-28 8:02 UTC (permalink / raw) To: Angelo Graziosi; +Cc: emacs-devel Angelo Graziosi wrote: > I have GNU/Linux Kubuntu 8.04 and bash: > > $ echo $SHELL > /bin/bash It doesn't matter what you have $SHELL set to, it matters what /bin/sh really is (it seems to be dash on Ubuntu). Anyway, it should be working now if you cvs update. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2008-05-29 23:25 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <18495.14609.229383.543607@fencepost.gnu.org> 2008-05-27 9:56 ` make bootsrap problems Michael Kifer 2008-05-27 10:44 ` David Kastrup 2008-05-27 13:36 ` Espen Wiborg 2008-05-27 19:29 ` Glenn Morris 2008-05-28 0:44 ` Glenn Morris 2008-05-28 1:04 ` Glenn Morris 2008-05-28 7:08 ` Espen Wiborg 2008-05-29 23:25 ` bug#323: marked as done (make bootsrap problems) Emacs bug Tracking System 2008-05-28 7:57 make bootsrap problems Angelo Graziosi 2008-05-28 8:02 ` Glenn Morris
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.