Shared libraries are not necessary

Masataka Ohta mohta at necom830.cc.titech.ac.jp
Mon May 20 19:43:52 AEST 1991


In article <1991May17.075555.29787 at Think.COM> barmar at think.com writes:

>>Those who support shared libraries claimed it is good for software upgrade.
>>I disagreed. Usual software upgrade is not so simple. As THEIR (not mine)
>>example was introduction of DNS, I proved they are wrong.

>There are two kinds of software upgrades: those which change the interface
>to the library, and those which only change the implementation.

>Most of the common shared library designs only make the second kind simple.
>That's certainly better than nothing.

And, my claim is that the second kind is almost nothing.

Your (those who support shared libraries) example of DNS prove that.

Most software upgrade is a little more complex than can be processed by
mere library change.

>I believe they also enhanced
>the /etc/hosts version of the routine to return multiple addresses (our
>/etc/hosts file has several host names with multiple addresses).

You believe what? No. They didn't do so.

You should not have said what you believe. Instead, see
lib/libc/net/hosttable/gethostnamadr.c of 4.3BSD source. There is only
one IP address entry provided for gethostbyname().

As you don't know enough about host name look up and accompanied complexities
of its management, don't say:

>Note that an upgrade to use the DNS didn't *have* to include support for
>multiple addresses.

unless you want to be dishonest.

>In Multics, library design guidelines also make the first kind easy.  Most
>library routines with non-trivial parameters take most of the parameters as
>a pointer to a structure.  By convention, the first member of the structure
>is a version number or version string

The only parameter for gethostbyname() is, trivially, a string.

						Masataka Ohta



More information about the Comp.unix.internals mailing list