Subject: Re: ATTENTION: avoid using libc.13
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Greg A. Woods <woods@kuma.web.net>
List: current-users
Date: 10/21/1997 10:16:06
[ On Tue, October 21, 1997 at 00:43:50 (-0700), Jason Thorpe wrote: ]
> Subject: Re: ATTENTION: avoid using libc.13 
>
> No it's not.  If we'd stayed with .13, or bumped it once more to .14,
> we would have broken nearly every third party library, and in fact
> noticed the problem when a couple of programs _did_ break.
> 
> In a nutshell, here was the problem:
> 
> 	- You have a program that was linked against e.g. libc.so.12
> 	  and libkrb.so.2 (I believe this was the actual case).
> 
> 	- You rebuild the world.  This plops a new libc.so.13 down,
> 	  and rebuilds libkrb.so.2.
> 
> 	- Now, note that libkrb.so.2 uses stat(2).  It's been built with
> 	  the new includes.
> 
> 	- Your program runs, and it binds libc.so.12.  This means you're
> 	  using the old stat(2), not the new stat(2) that libkrb.so.2 is
> 	  expecting.
> 
> 	- Your program goes boom.

I think you may misunderstand what I mean.

	- undo the changes to stat(2) so that everything is as it was

	- bump libc to libc.so.14 (or rather 15, but that's a diff. issue)

Nothing gets broken.  Nobody has to jump through hoops. etc.

> At this point, libc.so.13 was already broken.  We needed the old
> implementation to have the old name..

I don't see why.  The old implementation with an even newer name should
suffice and if it doesn't then things are far more broken than I want to
even contemplate.

-- 
							Greg A. Woods

+1 416 443-1734			VE3TCP			robohack!woods
Planix, Inc. <woods@planix.com>; Secrets Of The Weird <woods@weird.com>