all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10
@ 2010-10-08 20:04 Rainer Orth
  2010-10-10 14:07 ` Dan Nicolaescu
  2010-12-06 17:07 ` Chong Yidong
  0 siblings, 2 replies; 3+ messages in thread
From: Rainer Orth @ 2010-10-08 20:04 UTC (permalink / raw
  To: 7178

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@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





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10
  2010-10-08 20:04 bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10 Rainer Orth
@ 2010-10-10 14:07 ` Dan Nicolaescu
  2010-12-06 17:07 ` Chong Yidong
  1 sibling, 0 replies; 3+ messages in thread
From: Dan Nicolaescu @ 2010-10-10 14:07 UTC (permalink / raw
  To: Rainer Orth; +Cc: 7178

Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> 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.

> === 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

The only reason to include <term.h> in sysdep.c is to get a prototype
for `tputs' (used in `reset_sys_modes') .
cm.c also uses tputs, but it adds an extern declaration for it.

Given that including <term.h> seems to cause problems, maybe a good
workaround would be to move `reset_sys_modes' to cm.c.





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10
  2010-10-08 20:04 bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10 Rainer Orth
  2010-10-10 14:07 ` Dan Nicolaescu
@ 2010-12-06 17:07 ` Chong Yidong
  1 sibling, 0 replies; 3+ messages in thread
From: Chong Yidong @ 2010-12-06 17:07 UTC (permalink / raw
  To: Rainer Orth; +Cc: 7178

> 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

Since the Makefile.in change and the tputs prototype suggested by Dan
have both been committed now, I'm closing the bug.  If the new changes
don't work properly please reopen if, or file another bug if you
encounter other problems building Emacs 24 on Solaris.  Thanks for the
report.





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-12-06 17:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-08 20:04 bug#7178: 24.0.50; Emacs 24 doesn't build on Solaris 10 Rainer Orth
2010-10-10 14:07 ` Dan Nicolaescu
2010-12-06 17:07 ` Chong Yidong

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.