emacs-devel
[Top][All Lists]
Advanced

[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





reply via email to

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