Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: zsh-4.3.4-dev-2.tar.gz



I believe ncurses.h is in the standard place, but not where it is configures looks for and the sources include it:

/usr/local/src/build/zsh-4.3.4-dev-2$ grep 'include.*curses' **/*.c
Src/Modules/curses.c:#include "curses.mdh"
Src/Modules/curses.c:#include "curses.pro"
Src/Modules/curses.c:# include <ncurses.h>
Src/Modules/curses.c:#  include <curses.h>
Src/Modules/curses.c:#include "curses_keys.h"
Src/Modules/termcap.c:#   include <curses.h>
Src/Modules/terminfo.c:# include <curses.h>

/usr/local/src/build/zsh-4.3.4-dev-2$ locate ncurses.h
/usr/local/include/ncurses/ncurses.h
/usr/local/include/ncursesw/ncurses.h

so, one should have
#include <ncursesw/ncurses.h>

rather than
#include <ncurses.h>

in Src/Modules/curses.c

Perhaps I should add -I/usr/local/include/ncursesw to the CPPFLAGS?

On 20/11/07 16:14, Peter Stephenson wrote:
On Tue, 20 Nov 2007 15:09:27 +0200
"Zvi Har'El" <rl@xxxxxxxxxxxxxxxxxxx> wrote:
  
Another problem. I have two Solaris systems, 2.8 and 2.9. The tar, as
well as the CVS Head, do not build. Last time I was able to build was,
from the Head

-rwxr-xr-x 2 root root 548196 2007-11-08 10:24:53.000000000 +0200
/usr/local/bin/zsh

The I have in these systems, in addition to Solaris's curses, also gnu
ncurses 5.6 (installed at /usr/local). For some reason, configure finds
ncursesw.so but doesn't find ncurses.h. I attach config.log and
config.h.
    

Thanks.  We shouldn't search the ncurses library if we haven't found
the ncurses header.

Obviously it's better to find the header, but the shell may need help doing
that.  I've added a note to the installation instructions.

The last hunk was supposed to add "-expect_unresolved '*'" to DLLDFLAGS on
Tru64 Unix, but the mail I sent seems to have gone astray.  I haven't
tested this.  The idea that the OS still appeared to autoconf as osf* was
suggested by Google but I don't know that for sure either.

Index: INSTALL
===================================================================
RCS file: /cvsroot/zsh/zsh/INSTALL,v
retrieving revision 1.32
diff -u -r1.32 INSTALL
--- INSTALL	12 Oct 2007 10:18:58 -0000	1.32
+++ INSTALL	20 Nov 2007 14:08:56 -0000
@@ -328,6 +328,14 @@
 to the developers at zsh-workers@xxxxxxxxxx and attempt to recompile with
 --with-term-lib="tinfo termcap ncurses curses" (see below).
 
+Note that use of ncurses requires the header ncurses.h, so this
+needs to be in the include path.  configure will not search for
+ncurses or ncursesw unless this is the case.  If you have installed
+ncurses.h in a non-standard place you may need to pass
+CPPFLAGS=-I/usr/local/include (or wherever the header is found) to
+configure.  Similarly, you may need to pass LDFLAGS=-L/usr/local/lib
+(or wherever) in order to find the library.
+
 On some systems a suitable development package with a name such as
 curses-devel or ncurses-devel needs to be installed before zsh can
 be compiled.  This is likely to be contained on any installation media,
Index: configure.ac
===================================================================
RCS file: /cvsroot/zsh/zsh/configure.ac,v
retrieving revision 1.78
diff -u -r1.78 configure.ac
--- configure.ac	10 Nov 2007 20:29:27 -0000	1.78
+++ configure.ac	20 Nov 2007 14:08:58 -0000
@@ -636,6 +636,17 @@
 
 AC_CHECK_LIB(m, pow)
 
+dnl Various features of ncurses depend on having the right header
+dnl (the system's own curses.h may well not be good enough).
+dnl So don't search for ncurses unless we found the header.
+if test x$ac_cv_header_ncurses_h = xyes; then
+  ncursesw_test=ncursesw
+  ncurses_test=ncurses
+else
+  ncursesw_test=
+  ncurses_test=
+fi
+
 dnl Prefer BSD termcap library to SysV curses library, except on certain
 dnl SYSV-derived systems.  However, if we find terminfo and termcap
 dnl stuff in the same library we will use that; typically this
@@ -648,12 +659,13 @@
   termcap_curses_order="$withval"
   AC_SEARCH_LIBS(tigetstr, [$termcap_curses_order])
 else
-  termcap_curses_order="ncursesw tinfo termcap ncurses curses"
+  termcap_curses_order="$ncursesw_test tinfo termcap $ncurses_test curses"
 fi],
 [case "$host_os" in
   hpux10.*|hpux11.*|solaris*)
-      termcap_curses_order="Hcurses ncursesw ncurses curses termcap" ;;
-  *)             termcap_curses_order="ncursesw tinfo termcap ncurses curses" ;;
+   termcap_curses_order="Hcurses $ncursesw_test $ncurses_test curses termcap" ;;
+  *)
+   termcap_curses_order="$ncursesw_test tinfo termcap $ncurses_test curses" ;;
 esac])dnl
 
 AH_TEMPLATE([HAVE_BOOLCODES],
@@ -2357,7 +2369,8 @@
     esac
   fi
   case "$host_os" in
-    *freebsd*|linux*|irix*|osf*|gnu*|dragonfly*) DLLDFLAGS="${DLLDFLAGS=-shared}" ;;
+    osf*) DLLDFLAGS="${DLLDFLAGS=-shared -expect_unresolved '*'}" ;;
+    *freebsd*|linux*|irix*|gnu*|dragonfly*) DLLDFLAGS="${DLLDFLAGS=-shared}" ;;
     sunos*)       DLLDFLAGS="${DLLDFLAGS=-assert nodefinitions}" ;;
     sysv4*|esix*) DLLDFLAGS="${DLLDFLAGS=-G $ldflags}" ;;
     netbsd*)      DLLDFLAGS="${DLLDFLAGS=${DLLDARG}-x -shared --whole-archive}" ;;

  

-- 
Dr. Zvi Har'El      mailto:rl@xxxxxxxxxxxxxxxxxxx    Department of Mathematics
tel:+972-54-4227607                  Technion - Israel Institute of Technology
fax:+972-4-8293388  http://www.math.technion.ac.il/~rl/    Haifa 32000, ISRAEL
"If you can't say somethin' nice, don't say nothin' at all." -- Thumper (1942)


Messages sorted by: Reverse Date, Date, Thread, Author