Subject: Re: Shared object questions.
To: Richard Rauch <rauch@eecs.ukans.edu>
From: David Brownlee <abs@anim.dreamworks.com>
List: netbsd-users
Date: 02/24/1999 09:48:02
On Wed, 24 Feb 1999, Richard Rauch wrote:

> Mostly, one question is inspired by the fact that I have to switch between
> the two versions of gtk in order to use, say, the GIMP vs. WindowMaker. 
> (That particular choice isn't hard for me to make, since I use twm
> anyway...though I had installed WindowMaker and found that I had to
> uninstall it to retrograde to gtk-1.0.4.) 
> 
> As I understand it, the two gtk's are BOTH "Gimp ToolKits", but for some
> reason, we cannot use the newer version with "old" programs which have not
> been updated for the new libraries.  (If they are, in fact, totally
> unrelated libraries, is it okay if I groan about TLA's causing inevitable
> problems in system resources?)
> 
> So, assuming that they are different versions of the same library: Why
> can't all programs use the current version of the shared library?  To me,
> that has always been about half of the value of using a shared library. 
> Bug-fixes, default features, performance enhancements, and security-fixes
> should all come as automatic benefits to every client application. 
> 
> I assume that there is a good technical reason for the situation.  I am
> curious what that reason is.
> 
	I believe there were changes in the API for the library between
	versions. gtk i still quite a young project and they were more
	interested in "getting it right" than retaining backwards
	compatability.

	Recently rh@netbsd.org updated pkgsrc to move the files for
	gtk-1.0.X and change the programs that referenced it so that both
	old and new programs can coexist.

	If you update your pkgsrc, and  then delete the old gtk1.0 and any
	programs needing it you should be able to remake and install both
	old and new at the same time.
	
> 
> Related, I can't seem to get the Mesa demos to work under v1.3.3 of
> NetBSD.  (I installed from a CD rather than from the 'net, since my
> machine does not have network access.  There seems to be only one Mesa,
> but there is the implication that both 2.6 and 3.0 of Mesa are supposed to
> be floating around the package system.  For reference, the CD was
> as-current-as-feasible, circa mid-January of this year.  I don't have the
> date with me.)
> 
> Every time that I try to run, say, bounce or gamma, I am told that
> _XOpenDisplay (or some such) cannot be found, from one of the X11/lib
> objects (glut, maybe?). 
> 
> However, things seemed to compile correctly.  And, for example, Battalion
> runs, so I assume that Mesa is installed correctly.  The programs do not
> object about missing shared libraries, so they presumably have access to
> the correct libraries.
> 
> Am I doing something stupid, or are the Mesa demos hosed?  Or do I need to
> manually extract Mesa and/or the demos?  Or does the
> pkgsrc/graphics/Mesa/Makefile make the "wrong version" of Mesa?
> 
> (I initially installed much of my stuff from a binary distribution, but
> since I had Bob Nestor burn a package sources dir (and since SOME things
> are NOT available in binary form for the i386), I find it more convenient
> to keep the pkgsrc CD mounted.  Thus [re]installing is generally easier to
> do from sources than from binaries.  This shouldn't make any difference
> in general, but it may clarify why I am using pkgsrc instead of pkg_add.)

	I don't know about the Mesa demos - I'll try the latest version
	from pkgsrc out on an i386 box here and se if I can replicate your
	problem.

		David/absolute

         -=- They took away my irony, but they left my deceit  -=-