Nicolas Williams wrote: > But I think I just figured out the reason for the indirection: libgss > lives in /usr/lib, and libnsl lives in /lib, so to fold rpcsec.so.1 into > libnsl might mean either moving libgss into /lib or using weak symbols > in rpc_gss_*() to determine if libgss is available and return NULL (or > whatever) if it is not.
I don't have any concrete recommendations as to where things live in the file system, other folks determine those issues :-). Moving things into /lib has occurred over and over again, so I don't see why you couldn't float the idea of moving libgss into /lib. > Which do you recommend then: > > a) turning rpcsec_gss_if.c into auxfilters; This is easy to do, and allows the libs to remain in their same location. > b) folding rpcsec.so.1 into libnsl and use weak syms to determine if > libgss is available The folding part is fine, but I don't get the weak symbols part. If you have to determine whether libgss exists, then you've the same problem as you are presently investigating with rpcsec_gss_if.c. Seems that this would just make the calling mechanism from libnsl/rpcsec_gss to libgss more complicated, no? > b) folding rpcsec.so.1 into libnsl and moving libgss into /lib This sounds feasible too, and would simplify and improve the performance of the system as a whole. Don't forget, filtees are another object ld.so.1 has to load - the less the better. Why not fold rpcsec.so.1 and libgss into libnsl :-) -- Rod.