[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs 21.2 failed to compile
From: |
Eli Zaretskii |
Subject: |
Re: emacs 21.2 failed to compile |
Date: |
Fri, 03 May 2002 19:13:03 +0300 |
Peter van Hoof wrote:
>
> In file included from /usr/openwin/include/X11/Xos.h:81,
> from xlwmenu.c:32:
> /usr/include/strings.h:25: conflicting types for `memmove'
> /usr/include/iso/string_iso.h:62: previous declaration of `memmove'
> /usr/include/strings.h:26: parse error before numeric constant
> gmake[2]: *** [xlwmenu.o] Error 1
> gmake[2]: Leaving directory `/opt/temp/emacs-21.2/lwlib'
> gmake[1]: *** [really-lwlib] Error 2
> gmake[1]: Leaving directory `/opt/temp/emacs-21.2/src'
> gmake: *** [src] Error 2
>
> The preprocessed file xlwmenu.i.bz2 is attached. It appears that bcopy is
> #define'd to memmove before the prototype of bcopy is read from
> /usr/include/strings.h. This leads to the conflicting types error.
Thank you for your report. This is already fixed for the next release;
please try the patch below and see if the problem goes away.
--- src/s/sol2-5.h 5 Dec 2001 18:32:15 -0000 1.13.14.1
+++ src/s/sol2-5.h 19 Apr 2002 11:36:16 -0000 1.13.14.2
@@ -29,6 +29,18 @@
#define HAVE_VFORK 1
#endif
+/* Newer versions of Solaris have bcopy etc. as functions, with
+ prototypes in strings.h. They lose if the defines from usg5-4.h
+ are visible, which happens when X headers are included. */
+#ifdef HAVE_BCOPY
+#undef bcopy
+#undef bzero
+#undef bcmp
+#ifndef NOT_C_CODE
+#include <strings.h>
+#endif
+#endif
+
#if 0 /* A recent patch in unexelf.c should eliminate the need for this.
*/
/* Don't use the shared libraries for -lXt and -lXaw,
to work around a linker bug in Solaris 2.5.