*BSD News Article 16451


Return to BSD News archive

Newsgroups: comp.os.386bsd.development
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!swrinde!gatech!howland.reston.ans.net!newsserver.jvnc.net!gmd.de!mururoa!veit
From: veit@mururoa.gmd.de (Holger Veit)
Subject: Re: SHARED LIBRARIES - THE END
Message-ID: <1993May24.174302.4975@gmd.de>
Sender: veit@mururoa (Holger Veit)
Nntp-Posting-Host: mururoa
Organization: GMD, Sankt Augustin, Germany
References: <PC123.93May22195506@bootes.cus.cam.ac.uk> <HAGAN.93May24115502@freya.cs.umass.edu>
Date: Mon, 24 May 1993 17:43:02 GMT
Lines: 99

In article <HAGAN.93May24115502@freya.cs.umass.edu>, hagan@freya.cs.umass.edu (Craig I. Hagan) writes:
|> 
|>    Since beginning the shared library project I have received mailboxes
|>    full of flames every day.  If you don't like my way of doing shared
|> 
|> the few, the loud, the ...

Since *this time* I didn't belong to those who flamed the author of this
shlib version (I am, however, well-known for my criticism
of the shlib implementation, figuratively 'thrown into the crowd' long
time ago), and not directly involved in shlib programming, I think I
am neutral enough now to try to give an explanation why publishing
critical things like shlibs is obviously not very much liked by some
people.

The reason is implicitly given in your comment below. You want "*something*
that works reliably, no matter how fast/slow/whatever", and many people
have similar requirements because of their limited resources. But
386bsd is not the public domain unix to simply serve your and other's 
needs; it is intended to be a long-term and world-wide research project.
If you can take advantage from it, it's okay. But the long-term plan
(parts of which have been published for instance in the DDJ articles
and elsewhere by Bill Jolitz) is not aimed at immediate satisfaction.

|> of BSD shared libraries). What I wanted was *something* that worked
|> reliably, no matter how fast/slow/whatever, as i cannot fit a non
|> shared library system on my harddrive, and X. I currenly use linux
|> because of this (it fits where no other unix will).

There are several people active worldwide to form projects to do
something *right*, not quick'n'dirty as you wish to have it, and 
solving the problems later. And these people are skilled enough to
see the real and mostly hidden problems, and find a useful solution
that will not be revised in the next patchkit, but will fulfill
the requirements for a longer time.

As you appear to know Linux, you should also know that in particular 
the shared libraries are one of the worst rats nests available, since 
they emerged over several incompatible stages. So, if you get some
older (binary) utility from some server anywhere, you might happen to
need the set of shared libraries this binary was linked with, as well,
together to your own set that came with one of the binary distributions
of the core system. On your boot disk there is a different libc.a, which
has been compacted for fitting into the boot image.
This is what should be strictly avoided in 386bsd: 
  different incompatible versions of binaries that need probably subtly
  different environments to run. 
This will undoubtedly happen, simply when some person ports a 
package xyzzy to library A, put a binary on a FTP server, and lateron 
when library B is popular, this person is no  longer available to do 
maintenance for xyzzy under B.
Insiders like me and many others who play with 386bsd since the earliest
days know what is going on in the system and know which executable
needs which shared library, and know about troubleshooting in case, but
incompatible software is a problem for the large number of not so
experienced people. This is only the most obvious problem with
shared libraries; a different one is the ease of creation, compatibility
to and consistency with the rest of the system are some others.

|> Perhaps the people who insist that everything be done perfectly the
|> first time should consider spending their time writing code instead
|> of writing flames. Also, if there is an implementation that you don't
|> like: WRITE YOUR OWN. let those who *want* functionality regardless
|> of speed/cost/overhead/whatever else get it without being bitched at.

I don't know who has flamed, and whether the complaints were more
technical that just "How could you dare to do that"; from the
responses that were posted in this group I found the remarks
quite important and serious. The author cannot expect only
"well done" messages.
|> 
|> I really hope that this isn't indicative of the 386BSD crowd as a whole.

The style and level of flaming might differ, but there is
a large fraction of people who *want*, *want*, *want* something,
rather than trying to do constructive AND cooperative (world wide)
team work. The occasionally upcoming "solutions" have always
neglected the last part of previous sentence.

Before you repeat your argument "WRITE YOUR OWN": I do know how to
write shlib support quick'n'dirty; I have to think over some time,
to do it well, but I see no necessity to reinvent wheels that
are developed in more specialized circles. (But perhaps I have
still too much free disk space :-)).


|> 
|> -- craig
|> 

Holger

-- 
         Dr. Holger Veit                   | INTERNET: Holger.Veit@gmd.de
|  |   / GMD-SET German National Research  | Phone: (+49) 2241 14 2448
|__|  /  Center for Computer Science       | Fax:   (+49) 2241 14 2342
|  | /   P.O. Box 13 16                    |    Three lines Signature space
|  |/    Schloss Birlinghoven              |    available for rent. Nearly
         DW-5205 St. Augustin, Germany     |    unused, good conditions