[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make bootstrap: need moral support. :-(
From: |
Giorgos Keramidas |
Subject: |
Re: make bootstrap: need moral support. :-( |
Date: |
Mon, 20 Feb 2006 22:57:25 +0200 |
On 2006-02-20 07:24, "Randal L. Schwartz" <address@hidden> wrote:
> >>>>> "Robert" == Robert J Chassell <address@hidden> writes:
>
> Robert> ... or am I just being unlucky at the moment?
> Robert> You are just being unlucky. I updated CVS at 11:44 UTC this morning,
> Robert> 2006 Feb 19, and built it with
>
> Robert> (progn (cd "/usr/local/src/emacs/") (compile "time make
> bootfast"))
>
> Robert> It built fine. I did use gcc 4.0.3 but not long ago, I used gcc 2.95.
> Robert> I am also using GNU Make 3.81beta4, but I expect that make 3.79.1
> Robert> would work.
>
> I built from CVS just now on OSX with:
>
> make distclean
> ./configure --prefix=/opt/emacs --without-x
> make bootstrap install
>
> and died with:
>
> /emacs-CVS/lib-src/../src -fpascal-strings -DMAC_OSX -I../mac/src -g -O2
> -Wno-pointer-sign -DVERSION="\"22.0.50\""
> /Users/merlyn/MIRROR/emacs-CVS/lib-src/etags.c getopt.o getopt1.o regex.o -o
> etags
> /usr/bin/ld: Undefined symbols:
> _xmalloc
> _xrealloc
> collect2: ld returned 1 exit status
> make[3]: *** [etags] Error 1
> make[2]: *** [lib-src] Error 2
> make[1]: *** [bootstrap-build] Error 2
> make: *** [bootstrap] Error 2
> make bootstrap install 856.14s user 189.33s system 40% cpu 43:07.15 total
>
> This is definitely recent.
Yes.
The malloc/realloc -> xmalloc/xrealloc change to src/regex.c adds a
conditional dependency on some of the allocators available in emacs/src/
to lib-src files too.
I'm currently building a snapshot with the following patch applied to
see if it fixes things:
%%%
Index: emacs/lib-src/Makefile.in
===================================================================
--- emacs/lib-src/Makefile.in (.../branches/gnu) (revision 21)
+++ emacs/lib-src/Makefile.in (.../trunk) (revision 21)
@@ -399,13 +399,36 @@
#ifdef REGEXP_IN_LIBC
REGEXPOBJ =
REGEXPDEPS =
-#else
-REGEXPOBJ = regex.o
-REGEXPDEPS = $(REGEXPOBJ) $(srcdir)/../src/regex.h
+#else /* !REGEXP_IN_LIBC */
+
+/* The Emacs regexp code depends on our own memory allocation stuff. */
+#ifndef SYSTEM_MALLOC
+#ifndef DOUG_LEA_MALLOC
+GMALLOCOBJ = gmalloc.o
#endif
+#ifdef REL_ALLOC
+RALLOCOBJ = ralloc.o
+#endif
+
+MALLOCOBJ = ${GMALLOCOBJ} ${RALLOCOBJ} vm-limit.o
+#endif /* SYSTEM_MALLOC */
+
+REGEXPOBJ = regex.o $(MALLOCOBJ)
+REGEXPDEPS = $(REGEXPOBJ) $(MALLOCOBJ) $(srcdir)/../src/regex.h
+#endif
+
+gmalloc.o: $(srcdir)/../src/gmalloc.c ../src/config.h
+ ${CC} -c ${ALL_CFLAGS} ${srcdir}/../src/gmalloc.c
+
+ralloc.o: $(srcdir)/../src/ralloc.c ../src/config.h
+ ${CC} -c ${ALL_CFLAGS} ${srcdir}/../src/ralloc.c
+
+vm-limit.o: $(srcdir)/../src/vm-limit.c $(srcdir)/../src/mem-limits.h
../src/config.h
+ ${CC} -c ${ALL_CFLAGS} ${srcdir}/../src/vm-limit.c
+
regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h ../src/config.h
- ${CC} -c ${BASE_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER
${srcdir}/../src/regex.c
+ ${CC} -c ${ALL_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER
${srcdir}/../src/regex.c
etags${EXEEXT}: ${srcdir}/etags.c $(GETOPTDEPS) $(REGEXPDEPS) ../src/config.h
$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/etags.c
$(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o etags
%%%
It isn't finished yet, and I haven't actually tried running Emacs with
it, but it may help someone more knowledgeable to find the real fix.
- Giorgos
Re: make bootstrap: need moral support. :-(, Eric Hanchrow, 2006/02/20