Rod Evans wrote:
Thanks Rod for the insight. Looks like I'll have to, via trial and
error, eliminate unreferenced so's. Let's hope they don't change that
much between releases. :)
-- Jim C
> Jonathan Adams wrote:
>
>>> So would it be reasonable to assume that so's that don't have the
>>> version suffix might be dlopen candidates? Maybe I'll just exclude
>>> them from the removal algorithm?
>
> I don't think you can infer much from a name.
>
> Our founding fathers had a design. Shared objects would have major
> numbers (ie. libfoo.so.1), and symlinks would be established to these
> (ie. libfoo.so -> libfoo.so.1), so the developers could reference
> these dependencies at compiler time using the -l notation (ie. -lfoo).
>
> A shared object that can be specified as a dependency (as created when
> using -l), is no different from a shared object that can be dlopen'ed.
> Some applications might have dependencies on libfoo.so.1, others might
> wish to dlopen("libfoo.so.1").
>
> The conventions have gotten very lax. We have shared objects that
> are only delivered as "*.so". Shared objects that are only delivered
> as "*.so.?". Both. Or even various incantations of "*.so.1.23.65.99".
>
> I fear that whatever naming algorithm you use, you'll leave some
> objects behind that could be deleted, and delete some that are still
> required :-(
>