I've been writing some AFS client code, using the APIs, and I've noticed two
things:
a) Which libraries are needed to support certain calls (e.g. the
VIOCNEWCELL call) vary wildly from one architecture to another.
I'm trying to link against as few libraries as possible
to keep the binary small. I can give specific examples of the
inconsistencies if needed.
b) Lack of shared libraries means that binaries can get very large.
This is especially noticable for some programs like tcsh, which
link in all of the AFS libraries in an attempt to solve problem
a above. (On a Solaris 2.5 host, the stripped tcsh binary without
AFS authentication support is 400+ Kb, whereas the stripped binary
with AFS auth support is over 800 Kb!
So, what I'm asking is for information about what library interdependencies
exists (on each AFS system, in particular, sun4*, sunx*, hp700*, and sgi*
platforms). I'd also like to know if anyone an transarc has any plans to
provide the AFS API in the form of shared libraries, and if not, then I'd
like to add this as a feature request.
-- Garrett.