From owner-freebsd-bugs Fri Apr 17 21:30:09 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA24950 for freebsd-bugs-outgoing; Fri, 17 Apr 1998 21:30:09 -0700 (PDT) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: (from gnats@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA24915; Fri, 17 Apr 1998 21:30:06 -0700 (PDT) (envelope-from gnats) Received: from adv-pc-1.lbl.gov ([128.3.196.189]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id EAA23725 for ; Sat, 18 Apr 1998 04:26:30 GMT (envelope-from jin@adv-pc-1.lbl.gov) Received: (from jin@localhost) by adv-pc-1.lbl.gov (8.8.8/8.8.8) id VAA11173; Fri, 17 Apr 1998 21:25:22 -0700 (PDT) (envelope-from jin) Message-Id: <199804180425.VAA11173@adv-pc-1.lbl.gov> Date: Fri, 17 Apr 1998 21:25:22 -0700 (PDT) From: Jin Guojun (ITG staff) Reply-To: jin@adv-pc-1.lbl.gov To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: misc/6340: missing the terminfo, which causes libraries failure Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 6340 >Category: misc >Synopsis: missing the terminfo, which causes libraries failure >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Apr 17 21:30:04 PDT 1998 >Last-Modified: >Originator: Jin Guojun (ITG staff) >Organization: >Release: FreeBSD 2.2.6-RELEASE i386 >Environment: All release >Description: It seems that the libncurses failure is caused by missing terminfo. (xxgdb) where #0 0x8068552 in has_colors () at lib_color.c:85 #1 0x1fa8a in Initialize_Color_Screen () at color.c:143 #2 0x17f36 in Initialize_Terminal () at terminal.c:162 #3 0x1db4c in Curses_Initialization () at curses_ui.c:1884 #4 0x1e95 in main (argc=1, argv=0xefbfd5dc) at bridge.c:261 (xxgdb) p orig_pair No symbol "orig_pair" in current context. ...... int has_colors() { return ((orig_pair != NULL) && (max_colors != -1) && (max_pairs != -1) && (((set_foreground != NULL) && (set_background != NULL)) || ((set_a_foreground != NULL) && (set_a_background != NULL))) ); } ...... How could this line fail? By searching the libraries: FreeBSD # whereis terminfo terminfo: /usr/src/usr.bin/file/Magdir/terminfo # more /usr/src/usr.bin/file/Magdir/terminfo #------------------------------------------------------------------------------ # terminfo: file(1) magic for terminfo # # XXX - byte order for screen images? # 0 string \032\001 Compiled terminfo entry 0 short 0433 Curses screen image 0 short 0434 Curses screen image # cd /usr/src/lib/libncurses # grep orig_pair * lib_color.c: if (orig_pair != NULL) lib_color.c: putp(orig_pair); lib_color.c: return ((orig_pair != NULL) && (max_colors != -1) && (max_pairs != -1) lib_endwin.c: putp(orig_pair); lib_vidattr.c: if (orig_pair) { lib_vidattr.c: tputs(orig_pair, 1, outc); terminfo.5:\s-1orig_pair, op op Set default color-pair to original one\s+1 # man terminfo TERMINFO(5) TERMINFO(5) NAME terminfo - terminal capability data base SYNOPSIS /usr/lib/terminfo/*/* DESCRIPTION Terminfo is a data base describing terminals, used by screen-oriented programs such as vi(1), rogue(1) and ncurses(3). Terminfo describes terminals by giving a set of capabilities which they have, by specifying how to per- form screen operations, and by specifying padding require- ments and initialization sequences. ... >How-To-Repeat: # ls -l /usr/lib/terminfo/ ls: /usr/lib/terminfo/: Not a directory >Fix: need to locate the terminfo which is useful for vi and libncurses >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message