Date: Mon, 7 Jun 1999 15:10:11 -0400 (EDT) From: root@aldan.algebra.com To: FreeBSD-gnats-submit@freebsd.org Cc: dan@rn082110.mrs.umn.edu Subject: bin/12054: explicit -ltermcap after -lncurses causes segfaults Message-ID: <199906071910.PAA61797@rtfm.newton>
index | next in thread | raw e-mail
>Number: 12054
>Category: bin
>Synopsis: explicit -ltermcap after -lncurses causes segfaults
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Jun 6 12:10:00 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator: Mikhail Teterin
>Release: FreeBSD 3.2-STABLE i386
>Organization:
Virtual Estates, Inc.
>Environment:
>Description:
The following link line:
cc -Wall -g -pipe -L/usr/local/lib -o tsiag -L../siod \
-L../common -L../siag fonts.o forminput.o window.o \
selection.o tsiag.o -lsiag -lcommon -lsiod -lncurses -lcrypt \
-L/usr/local/lib -lguile -lreadline -lm -ltcl80 -lgdbm
results in a runnable executable with the following libs:
tsiag:
libncurses.so.3 => /usr/lib/libncurses.so.3 (0x280a9000)
libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x280ba000)
libguile.so.4 => /usr/local/lib/libguile.so.4 (0x280bd000)
libreadline.so.3 => /usr/lib/libreadline.so.3 (0x2811b000)
libm.so.2 => /usr/lib/libm.so.2 (0x2813d000)
libtcl80.so => /usr/local/lib/libtcl80.so (0x28157000)
libc.so.3 => /usr/lib/libc.so.3 (0x281b9000)
libmytinfo.so.2 => /usr/lib/libmytinfo.so.2 (0x28239000)
libtermcap.so.2 => /usr/lib/libtermcap.so.2 (0x2824f000)
If I explicitly add -ltermcap to the link-line (this library is
requested by ncurses), which should NOT do any harm, the ldd's
output is slightly different:
tsiag:
libncurses.so.3 => /usr/lib/libncurses.so.3 (0x280a9000)
libtermcap.so.2 => /usr/lib/libtermcap.so.2 (0x280ba000)
libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x280bf000)
libguile.so.4 => /usr/local/lib/libguile.so.4 (0x280c2000)
libreadline.so.3 => /usr/lib/libreadline.so.3 (0x28120000)
libtcl80.so => /usr/local/lib/libtcl80.so (0x28142000)
libm.so.2 => /usr/lib/libm.so.2 (0x281a4000)
libc.so.3 => /usr/lib/libc.so.3 (0x281be000)
libmytinfo.so.2 => /usr/lib/libmytinfo.so.2 (0x2823e000)
and the executable dies on start-up:
Program received signal SIGSEGV, Segmentation fault.
0x0 in ?? ()
(gdb) where
#0 0x0 in ?? ()
#1 0x280bc1c6 in tputs () from /usr/lib/libtermcap.so.2
#2 0x28245e90 in putp () from /usr/lib/libmytinfo.so.2
#3 0x280b6340 in curs_set () from /usr/lib/libncurses.so.3
#4 0x280afd63 in leaveok () from /usr/lib/libncurses.so.3
#5 0x804e5c5 in new_ncurses () at window.c:617
#6 0x804e7c6 in init_windows (b=0x8145000, argc=0xbfbfd70c, argv=0xbfbfd80c)
at window.c:701
#7 0x8060baf in realmain (argc=1, argv=0xbfbfd80c) at main.c:147
#8 0x280ead7f in gh_launch_pad () from /usr/local/lib/libguile.so.4
#9 0x280ecef2 in invoke_main_func () from /usr/local/lib/libguile.so.4
#10 0x2810f8d3 in scm_internal_lazy_catch () from /usr/local/lib/libguile.so.4
#11 0x280eceae in scm_boot_guile_1 () from /usr/local/lib/libguile.so.4
#12 0x280ecc65 in scm_boot_guile () from /usr/local/lib/libguile.so.4
#13 0x280eadad in gh_enter () from /usr/local/lib/libguile.so.4
#14 0x8060db1 in main (argc=1, argv=0xbfbfd80c) at main.c:203
#15 0x804ba25 in _start ()
>How-To-Repeat:
I'm trying to update the math/siag port to the latest
Siag-3.1.16, but you can probably reproduce this with
anything that uses ncurses.
I do not believe this to be Siag's problem -- the
-ltermcap is redundant but should be harmless, AFAIK.
>Fix:
Do NOT use the explicit -ltermcap, but this _may_ break some
Makefiles, which do this for compatability with other systems.
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906071910.PAA61797>
