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

Re: Make Failure on SunOS-4.1



"Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxxxxxxxxx> writes:
> On Apr 25, 10:29am, Vin Shelton wrote:
> } Subject: Re: Make Failure on SunOS-4.1
> }
> } > That's tgetstr(), which should have been declared somewhere.  I suspect
> } > perhaps that the `defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)' test
> } > is inadequate.
> } 
> } You worry was well placed.
> 
> I'm also attention-deficient, apparently, as I see that (in your original
> complaint) the error is coming from line 51 of termcap.c, which would mean
> that you have curses.h but neither termcap.h nor term.h.
> 
> Can you please check your config.h for HAVE_TERM.*_H and HAVE_CURSES_H and
> see which of them are defined?
> 
> Also, if you have a build tree from an older version of zsh where this all
> worked, can you check the config.h there, too?

In the non-working 4/24 build, HAVE_CURSES_H, HAVE_TERMIO_H, and
HAVE_TERMIOS_H are defined and HAVE_TERM_H and HAVE_TERMCAP_H are not
defined.  See the attached config.h:

Attachment: config.h
Description: SunOS-4.1 config.h generated from Apr-24 CVS

The only difference between that config.h file and the one from Apr-17
(which works) is that the new config.h file apparently checks for
SETUPTERM, and does not find it:

--- /u/shelton/new/build/SunOS-4.1/zsh-2001-04-17/config.h      Tue Apr 17 08:55:58 2001
+++ /u/shelton/new/build/SunOS-4.1/zsh-2001-04-24-new/config.h  Wed Apr 25 08:26:09 2001
@@ -557,6 +557,9 @@
 /* Define if you have the setuid function.  */
 #define HAVE_SETUID 1
 
+/* Define if you have the setupterm function.  */
+/* #undef HAVE_SETUPTERM */
+
 /* Define if you have the shl_findsym function.  */
 /* #undef HAVE_SHL_FINDSYM */


OK.  I found a little time to investigate further.  This is truly
ugly.  curses.h includes the following definitions:

extern char	*AL, *BC, *BT, *CD, *CE, *CL, *CM, *CR, *CS, *DC, *DL,
		*DM, *DO, *ED, *EI, *K0, *K1, *K2, *K3, *K4, *K5, *K6,
		*K7, *K8, *K9, *HO, *IC, *IM, *IP, *KD, *KE, *KH, *KL,
		*KR, *KS, *KU, *LL, *MA, *ND, *NL, *RC, *SC, *SE, *SF,
		*SO, *SR, *TA, *TE, *TI, *UC, *UE, *UP, *US, *VB, *VS,
		*VE, *AL_PARM, *DL_PARM, *UP_PARM, *DOWN_PARM,
		*LEFT_PARM, *RIGHT_PARM;

'DO' conflicts with the 'DO' token from zsh.h.  I guess curses.h
predates any kind of useful namespace standard.

  - vin


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