Subject: Re: problems compiling ssh-1.2.17
To: Chris G. Demetriou <cgd@pa.dec.com>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-pmax
Date: 05/18/1997 14:05:15
On Sun, 18 May 97 12:00:23 -0700, "Chris G. Demetriou"
<cgd@pa.dec.com> writes:

[Michael Hitch writes]

>> The ld on the m68k port does not seem to include
>> shared libraries if nothing in those libraries are referenced.

>And, that behaviour is arguably incorrect.
>
>For instance, say you want to do something like:
>
>cc -o foo obj1.o obj2.o obj3.o obj4.o -linterpositionlib -lfoo # -lc
>
>Who's to say that the symbols from "interpositionlib.a" won't be used
>at run-time, i.e. the interpositionlib.a is necessarily the same from
>link-time to run-time?  That's not the linker's decision...

Yup. Or the author of `foo' may link against -linterpositionlib so
that symbols in -linterpositionlib are available at run-time to code
dynamically-linked in via -ldl.


But: is it really OK for shared libraries to reference global
variables like this, assuming the globals are provided by the `main
program'?  That seems like a pretty gross thing to do. libntp does
this, it breaks naive use of libntp (libntp requires, and uses,
app-namespace variables `debug' and `progname'?), and we don't even
have a manpage for it.

I guess I agree with Michael, that some libraries (libwrap, libntp)
ares installed assuming they're for the use of only one application.
Seems like less-than-splendid engineering to me.

Maybe this should go to tech-userlevel?