GNU bug report logs - #7178
24.0.50; Emacs 24 doesn't build on Solaris 10

Previous Next

Package: emacs;

Reported by: Rainer Orth <ro <at> CeBiTec.Uni-Bielefeld.DE>

Date: Fri, 8 Oct 2010 20:18:02 UTC

Severity: important

Found in version 24.0.50

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Rainer Orth <ro <at> CeBiTec.Uni-Bielefeld.DE>
To: 7178 <at> debbugs.gnu.org
Subject: bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10
Date: Fri, 08 Oct 2010 22:04:28 +0200
When I tried to build Emacs bazaar trunk on Solaris 10 to check if
bug#7163 still occurs on trunk, I ran into two issues:

* lisp/Makefile.in (compile-clean) uses $() which the Solaris 10 /bin/sh
  doesn't understand.  This can easily be avoided by using `` instead.

* src/sysdep.c doesn't compile: 

"/usr/include/term.h", line 1034: syntax error before or at: bool

  <term.h> uses bool without providing bool.  <stdbool.h> cannot be
  included since it only works in C99 mode.  The documented solution
  (e.g. on the curs_terminfo(3CURSES) manpage) is to include <curses.h>
  before term.h.  The patch below hardcodes this, but this is most
  likely not the appropriate solution.  Some kind of autoconf magic is
  probably needed to check if <term.h> can be compiled on its own.

	Rainer


2010-10-08  Rainer Orth  <ro <at> CeBiTec.Uni-Bielefeld.DE>

	src:
	* sysdep.c [HAVE_TERM_H]: Include <curses.h> before <term.h>.

	lisp:
	* Makefile.in (compile-clean): Use `` instead of $().

=== modified file 'lisp/Makefile.in'
--- lisp/Makefile.in	2010-09-08 14:42:54 +0000
+++ lisp/Makefile.in	2010-09-08 20:49:05 +0000
@@ -249,7 +249,7 @@
 compile-clean:
 	@cd $(lisp); $(setwins); \
 	elcs=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.elc |g'`; \
-	for el in $$(echo $$elcs | sed -e 's/\.elc/\.el/g'); do \
+	for el in `echo $$elcs | sed -e 's/\.elc/\.el/g'`; do \
 	  if test -f "$$el" -o \! -f "$${el}c"; then :; else \
 	    echo rm "$${el}c"; \
 	    rm "$${el}c"; \

=== modified file 'src/sysdep.c'
--- src/sysdep.c	2010-08-22 15:14:37 +0000
+++ src/sysdep.c	2010-09-08 20:34:07 +0000
@@ -97,6 +97,7 @@
 /* Include this last.  If it is ncurses header file, it adds a lot of
    defines that interfere with stuff in other headers.  Someone responsible
    for ncurses messed up bigtime.  See bug#6812.  */
+#include <curses.h>
 #include <term.h>
 #endif
 

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University




This bug report was last modified 14 years and 229 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.