Subject: Re: problems compiling ssh-1.2.17
To: Chris G. Demetriou <firstname.lastname@example.org>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
Date: 05/18/1997 14:05:15
On Sun, 18 May 97 12:00:23 -0700, "Chris G. Demetriou"
[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?