* Emacs bootstrap
@ 2008-06-21 1:46 Stefan Monnier
2008-06-21 20:53 ` Glenn Morris
2008-06-22 1:38 ` Herbert Euler
0 siblings, 2 replies; 14+ messages in thread
From: Stefan Monnier @ 2008-06-21 1:46 UTC (permalink / raw)
To: emacs-devel
I've changed the Makefiles so the bootstrap now should be a bit
more reliable. E.g., after a checkout, a simple
./configure
make
should DTRT. And to force a bootstrap, all you need to do is
make bootstrap-clean
after which
make
will do a full&clean bootstrap. The target "bootstrap" actually does
just that (except it runs ./config.status between the two, just in case).
Hopefully, this still work with parallel make (it worked with "make -j4"
in my tests), and hopefully it will not cause excessive re-compilation
or re-dumping either when you do a simple "make" (a simple "make"
will now automatically compile the .el files that need it).
Stefan
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-21 1:46 Emacs bootstrap Stefan Monnier
@ 2008-06-21 20:53 ` Glenn Morris
2008-06-21 20:55 ` Glenn Morris
` (2 more replies)
2008-06-22 1:38 ` Herbert Euler
1 sibling, 3 replies; 14+ messages in thread
From: Glenn Morris @ 2008-06-21 20:53 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier wrote:
> I've changed the Makefiles so the bootstrap now should be a bit
> more reliable.
Some problems I don't know how to fix at the moment:
i) `make maintainer-clean' now exits with an error, because running
its prereq bootstrap-clean deletes the lisp and src Makefiles.
ii) with `make -j2 bootstrap', I get this error every time:
gcc -nostdlib `./prefix-args -Xlinker -z nocombreloc`
-Wl,-znocombreloc -o temacs pre-crt0.o /usr/lib64/crt1.o
/usr/lib64/crti.o dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.o
window.o charset.o coding.o category.o ccl.o character.o chartab.o
cm.o term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o
fontset.o xsmfns.o fringe.o image.o dbusbind.o emacs.o keyboard.o
macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o
minibuf.o fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o
indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o
callint.o eval.o floatfns.o fns.o font.o print.o lread.o syntax.o
unexelf.o bytecode.o process.o callproc.o region-cache.o sound.o
atimer.o doprnt.o strftime.o intervals.o textprop.o composite.o md5.o
xfont.o ftfont.o xftfont.o ftxfont.o terminfo.o lastfile.o
vm-limit.o widget.o ../lwlib/liblw.a -lXaw -lXmu -lXt -lSM -lICE
-lXext -ltiff -ljpeg -lpng -lz -lm -lgif -lXpm -lX11 -lXft -lXrender
-lfontconfig -lfreetype -lX11 -lasound -L/lib64 -lrsvg-2
-lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
-L/lib64 -ldbus-1 -lgpm -lncurses -lm -lgcc -lc -lgcc
/usr/lib64/crtn.o
make[3]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/lisp'
make -w --jobserver-fds=5,6 - --jobserver-fds=5,6 -
--jobserver-fds=5,6 - --jobserver-fds=5,6 -j bootstrap-emacs
make[3]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/src'
cd ../lwlib/; make -w --jobserver-fds=5,6 - --jobserver-fds=5,6 -
--jobserver-fds=5,6 - --jobserver-fds=5,6 - --jobserver-fds=5,6 -
--jobserver-fds=5,6 - --jobserver-fds=5,6 - --jobserver-fds=5,6 -j
CC='gcc' CFLAGS='-g -O2 -Wno-pointer-sign ' MAKE='make'
"C_SWITCH_X_SITE=-I/usr/include/X11 -I/usr/include/freetype2"
"C_SWITCH_X_MACHINE=" "C_SWITCH_X_SYSTEM=" "C_SWITCH_SITE="
"C_SWITCH_MACHINE=" "C_SWITCH_SYSTEM=-D_BSD_SOURCE"
make[4]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/lwlib'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/lwlib'
`/bin/pwd`/temacs --batch --load loadup bootstrap
/bin/sh: /scratch/gmorris/emacs/cvs/trunk/src/temacs: Permission
denied
make[3]: *** [bootstrap-emacs] Error 126
make[3]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/src'
make[2]: *** [witness-emacs] Error 2
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/src'
make[1]: *** [src] Error 2
make[1]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk'
make: *** [bootstrap] Error 2
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-21 20:53 ` Glenn Morris
@ 2008-06-21 20:55 ` Glenn Morris
2008-06-22 1:27 ` Stefan Monnier
2008-06-22 1:06 ` Glenn Morris
2008-06-22 1:29 ` Stefan Monnier
2 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2008-06-21 20:55 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
PS question:
Is there a reason why $(lisp)/cus-load.el, $(lisp)/finder-inf.el,
$(lisp)/subdirs.el call sub-makes, rather than just having
custom-deps, finder-data, update-subdirs as prereqs?
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-21 20:55 ` Glenn Morris
@ 2008-06-22 1:27 ` Stefan Monnier
0 siblings, 0 replies; 14+ messages in thread
From: Stefan Monnier @ 2008-06-22 1:27 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
> Is there a reason why $(lisp)/cus-load.el, $(lisp)/finder-inf.el,
> $(lisp)/subdirs.el call sub-makes, rather than just having
> custom-deps, finder-data, update-subdirs as prereqs?
Yes: so as to make the two targets different.
I.e. if you want a target the reconstructs the file, use custom-deps
(and friends), whereas if you want a target that only makes sure the
file exists, use $(lisp)/cus-load.el.
Stefan
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-21 20:53 ` Glenn Morris
2008-06-21 20:55 ` Glenn Morris
@ 2008-06-22 1:06 ` Glenn Morris
2008-06-22 2:45 ` Stefan Monnier
2008-06-22 1:29 ` Stefan Monnier
2 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2008-06-22 1:06 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
Glenn Morris wrote:
> /bin/sh: /scratch/gmorris/emacs/cvs/trunk/src/temacs: Permission denied
Making witness-emacs depend on temacs${EXEEXT} seems to fix this, but
I don't have a handle on your new scheme yet.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-22 1:06 ` Glenn Morris
@ 2008-06-22 2:45 ` Stefan Monnier
2008-06-22 20:01 ` Glenn Morris
0 siblings, 1 reply; 14+ messages in thread
From: Stefan Monnier @ 2008-06-22 2:45 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
>> /bin/sh: /scratch/gmorris/emacs/cvs/trunk/src/temacs: Permission denied
> Making witness-emacs depend on temacs${EXEEXT} seems to fix this, but
I see... hmmm... I think I understand why that is.
> I don't have a handle on your new scheme yet.
Adding the above dependency means that witness-emacs will be recreated
everytime a C source file is changed, so every change to a C source file
will cause 2 dumps: one to `bootstrap-emacs' (via witness-emacs) and
another to `emacs'. So it defeats the whole idea behind
`witness-emacs'.
I don't have a better answer yet, tho,
Stefan
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-22 2:45 ` Stefan Monnier
@ 2008-06-22 20:01 ` Glenn Morris
2008-06-22 22:03 ` Stefan Monnier
0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2008-06-22 20:01 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier wrote:
> Adding the above dependency means that witness-emacs will be recreated
> everytime a C source file is changed, so every change to a C source file
> will cause 2 dumps: one to `bootstrap-emacs' (via witness-emacs) and
> another to `emacs'. So it defeats the whole idea behind
> `witness-emacs'.
D'oh, sorry. I see you've changed it all again now anyway. :)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-22 20:01 ` Glenn Morris
@ 2008-06-22 22:03 ` Stefan Monnier
0 siblings, 0 replies; 14+ messages in thread
From: Stefan Monnier @ 2008-06-22 22:03 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
>> Adding the above dependency means that witness-emacs will be recreated
>> everytime a C source file is changed, so every change to a C source file
>> will cause 2 dumps: one to `bootstrap-emacs' (via witness-emacs) and
>> another to `emacs'. So it defeats the whole idea behind
>> `witness-emacs'.
> D'oh, sorry. I see you've changed it all again now anyway. :)
Yes, I hope it works better now (fixes your problem but without
introducing the above problem).
Stefan
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-21 20:53 ` Glenn Morris
2008-06-21 20:55 ` Glenn Morris
2008-06-22 1:06 ` Glenn Morris
@ 2008-06-22 1:29 ` Stefan Monnier
2 siblings, 0 replies; 14+ messages in thread
From: Stefan Monnier @ 2008-06-22 1:29 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
>> I've changed the Makefiles so the bootstrap now should be a bit
>> more reliable.
> Some problems I don't know how to fix at the moment:
> i) `make maintainer-clean' now exits with an error, because running
> its prereq bootstrap-clean deletes the lisp and src Makefiles.
Hmm... I thought I'd changed those two to not remove the Makefile...
Oh I see I've only done it in `lisp' but not in `src'.
> ii) with `make -j2 bootstrap', I get this error every time:
> gcc -nostdlib `./prefix-args -Xlinker -z nocombreloc`
> -Wl,-znocombreloc -o temacs pre-crt0.o /usr/lib64/crt1.o
> /usr/lib64/crti.o dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.o
> window.o charset.o coding.o category.o ccl.o character.o chartab.o
> cm.o term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o
> fontset.o xsmfns.o fringe.o image.o dbusbind.o emacs.o keyboard.o
> macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o
> minibuf.o fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o
> indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o
> callint.o eval.o floatfns.o fns.o font.o print.o lread.o syntax.o
> unexelf.o bytecode.o process.o callproc.o region-cache.o sound.o
> atimer.o doprnt.o strftime.o intervals.o textprop.o composite.o md5.o
> xfont.o ftfont.o xftfont.o ftxfont.o terminfo.o lastfile.o
> vm-limit.o widget.o ../lwlib/liblw.a -lXaw -lXmu -lXt -lSM -lICE
> -lXext -ltiff -ljpeg -lpng -lz -lm -lgif -lXpm -lX11 -lXft -lXrender
> -lfontconfig -lfreetype -lX11 -lasound -L/lib64 -lrsvg-2
> -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
> -L/lib64 -ldbus-1 -lgpm -lncurses -lm -lgcc -lc -lgcc
> /usr/lib64/crtn.o
> make[3]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/lisp'
> make -w --jobserver-fds=5,6 - --jobserver-fds=5,6 -
> --jobserver-fds=5,6 - --jobserver-fds=5,6 -j bootstrap-emacs
> make[3]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/src'
> cd ../lwlib/; make -w --jobserver-fds=5,6 - --jobserver-fds=5,6 -
> --jobserver-fds=5,6 - --jobserver-fds=5,6 - --jobserver-fds=5,6 -
> --jobserver-fds=5,6 - --jobserver-fds=5,6 - --jobserver-fds=5,6 -j
> CC='gcc' CFLAGS='-g -O2 -Wno-pointer-sign ' MAKE='make'
> "C_SWITCH_X_SITE=-I/usr/include/X11 -I/usr/include/freetype2"
> "C_SWITCH_X_MACHINE=" "C_SWITCH_X_SYSTEM=" "C_SWITCH_SITE="
> "C_SWITCH_MACHINE=" "C_SWITCH_SYSTEM=-D_BSD_SOURCE"
> make[4]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/lwlib'
> make[4]: Nothing to be done for `all'.
> make[4]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/lwlib'
> `/bin/pwd`/temacs --batch --load loadup bootstrap
> /bin/sh: /scratch/gmorris/emacs/cvs/trunk/src/temacs: Permission
> denied
I've seen similar problems today but haven't been able to track them
down yet.
Stefan
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: Emacs bootstrap
2008-06-21 1:46 Emacs bootstrap Stefan Monnier
2008-06-21 20:53 ` Glenn Morris
@ 2008-06-22 1:38 ` Herbert Euler
2008-06-22 2:20 ` Glenn Morris
2008-06-22 2:47 ` Stefan Monnier
1 sibling, 2 replies; 14+ messages in thread
From: Herbert Euler @ 2008-06-22 1:38 UTC (permalink / raw)
To: Stefan Monnier, emacs-devel
There is a small problem when doing `make bootstrap-clean'. In
`top_bootclean', we have
top_bootclean=\
rm -f config.cache config.log ; \
if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi
This wants to remove the `CVS' subdirectory in `lock', which leads to
an error.
Regards,
Guanpeng Xu
_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-22 1:38 ` Herbert Euler
@ 2008-06-22 2:20 ` Glenn Morris
2008-06-22 2:28 ` Herbert Euler
2008-06-22 2:47 ` Stefan Monnier
1 sibling, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2008-06-22 2:20 UTC (permalink / raw)
To: Herbert Euler; +Cc: Stefan Monnier, emacs-devel
Herbert Euler wrote:
> top_bootclean=\
> rm -f config.cache config.log ; \
> if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi
>
> This wants to remove the `CVS' subdirectory in `lock', which leads to
> an error.
This hasn't changed recently. Use cvs up -dP and you won't have a lock
directory. In any case, this part of the rule is obsolete and can be
removed.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Emacs bootstrap
2008-06-22 1:38 ` Herbert Euler
2008-06-22 2:20 ` Glenn Morris
@ 2008-06-22 2:47 ` Stefan Monnier
2008-06-22 3:13 ` Herbert Euler
1 sibling, 1 reply; 14+ messages in thread
From: Stefan Monnier @ 2008-06-22 2:47 UTC (permalink / raw)
To: Herbert Euler; +Cc: emacs-devel
> There is a small problem when doing `make bootstrap-clean'. In
> `top_bootclean', we have
> top_bootclean=\
> rm -f config.cache config.log ; \
> if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi
> This wants to remove the `CVS' subdirectory in `lock', which leads to
> an error.
I don't have any `lock' nor `lock/CVS' directory. What error do
you get? And why do you have a lock/CVS subdirectory?
Stefan
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: Emacs bootstrap
2008-06-22 2:47 ` Stefan Monnier
@ 2008-06-22 3:13 ` Herbert Euler
0 siblings, 0 replies; 14+ messages in thread
From: Herbert Euler @ 2008-06-22 3:13 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
>> There is a small problem when doing `make bootstrap-clean'. In
>> `top_bootclean', we have
>
>> top_bootclean=\
>> rm -f config.cache config.log ; \
>> if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi
>
>> This wants to remove the `CVS' subdirectory in `lock', which leads to
>> an error.
>
> I don't have any `lock' nor `lock/CVS' directory. What error do
> you get? And why do you have a lock/CVS subdirectory?
Perhaps this is because I didn't provide any options to `cvs', i.e. I
just did `cvs ... co emacs'. Glenn told me to use `cvs up -dP', and
after that, the `lock' directory (as well as the `1' directory but I
didn't count others) went away.
Regards,
Guanpeng Xu
_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2008-06-22 22:03 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-21 1:46 Emacs bootstrap Stefan Monnier
2008-06-21 20:53 ` Glenn Morris
2008-06-21 20:55 ` Glenn Morris
2008-06-22 1:27 ` Stefan Monnier
2008-06-22 1:06 ` Glenn Morris
2008-06-22 2:45 ` Stefan Monnier
2008-06-22 20:01 ` Glenn Morris
2008-06-22 22:03 ` Stefan Monnier
2008-06-22 1:29 ` Stefan Monnier
2008-06-22 1:38 ` Herbert Euler
2008-06-22 2:20 ` Glenn Morris
2008-06-22 2:28 ` Herbert Euler
2008-06-22 2:47 ` Stefan Monnier
2008-06-22 3:13 ` Herbert Euler
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).