From sclawson@marker.cs.utah.edu  Tue Nov 25 18:42:17 1997
Received: from marker.cs.utah.edu (marker.cs.utah.edu [155.99.212.61])
          by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id SAA05100
          for <FreeBSD-gnats-submit@freebsd.org>; Tue, 25 Nov 1997 18:42:17 -0800 (PST)
          (envelope-from sclawson@marker.cs.utah.edu)
Received: (from sclawson@localhost)
	by marker.cs.utah.edu (8.8.8/8.8.5) id TAA24557;
	Tue, 25 Nov 1997 19:42:15 -0700 (MST)
Message-Id: <199711260242.TAA24557@marker.cs.utah.edu>
Date: Tue, 25 Nov 1997 19:42:15 -0700 (MST)
From: stephen clawson <sclawson@marker.cs.utah.edu>
Reply-To: sclawson@marker.cs.utah.edu
To: FreeBSD-gnats-submit@freebsd.org
Subject: The addition of a call to issetugid() in libtermcap.so.2.1 breaks old binaries.
X-Send-Pr-Version: 3.2

>Number:         5151
>Category:       bin
>Synopsis:       The addition of a call to issetugid() in libtermcap.so.2.1 breaks old binaries.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Nov 25 18:50:01 PST 1997
>Closed-Date:    Sun Apr 12 04:54:43 PDT 1998
>Last-Modified:  Sun Apr 12 04:54:53 PDT 1998
>Originator:     stephen clawson
>Release:        FreeBSD 2.2.5-STABLE i386
>Organization:
University of Utah CSL
>Environment:

   	A 2.2-STABLE system (as of 11.25.97), with old user-compiled binaries
from the 2.1-STABLE branch.

>Description:

 	A new function (issetugid()) is called from the latest
libtermcap, but the version number wasn't bumped up so old binaries
fail.  The old programs are linked against libc.so.2.2 and
libtermcap.so.2.1: libc.so.2.2 lives in /usr/lib/compat, but
libtermcap.so.2.1 lives in /usr/lib. =( So the last time libtermcap
was updated and installed, the old binaries pulled it in and died.
tgetent() was trying to call issetugid(), which libc.so.2.2 dosen't
have.


>How-To-Repeat:

	Run the `resize' program from a 2.1 version of XFree86 (or any other
program that uses termcap from 2.1) on a current 2.2-STABLE system (after
1997/11/21, when revision 1.7.2.1 of termcap.c was committed).

ldd resize
resize:
        -lgnumalloc.2 => /usr/lib/compat/libgnumalloc.so.2.0 (0x2001f000)
        -ltermcap.2 => /usr/lib/libtermcap.so.2.1 (0x20021000)
        -lc.2 => /usr/lib/compat/libc.so.2.2 (0x20025000)

>Fix:
	
	Bump up the minor version number for libtermcap (like what was
done in current), and add the old libtermcap into /usr/lib/compat.

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: phk 
State-Changed-When: Sun Apr 12 04:54:43 PDT 1998 
State-Changed-Why:  
timed out 
>Unformatted:
