Subject: Shared object questions.
To: None <>
From: Richard Rauch <>
List: netbsd-users
Date: 02/24/1999 09:36:04
I have two questions, more or less related to shared objects.  If they are
answered in a FAQ, man page, or web page, of course, I would be happy to
be pointed in the right direction.  Based on the description/note for this
mailing-list, this seems an appropriate place for the question.

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.

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 probably don't know what I'm talking about."