On 12/12/2014 07:23 PM, Jeff Darcy wrote: >> This is right on some systems, but not universal. This is why libtool >> links afr.so while warning it is not portable. You can have a hint >> that modules may not be plain libraries here: >> $ libtool link --help|grep module >> -module build a library that can dlopened > > So you're using "DSO" to mean not just something that's a dynamic > shared object but specifically something that's built to work with > dlopen? Seems like bad terminology to me, and possibly bad > engineering, but when libtool is involved that's not a surprise. > > Back to the point, it seems like we should use "ld -l" for some > things (e.g. libglusterfs) and dlopen for others (e.x. xlators), > but never "cross the streams" or just add a .so to the list of > objects. Does that sound right? > As far as the warning when compiling glfsheal goes, it is because we add -module to the linker flags ("afr_la_LDFLAGS = -module -avoid-version" in afr/src/Makefile.am), and it seems modules and shared libraries are not the same [1] when it comes to Mac world. In any case, Anuradha is working on a patch (http://review.gluster.org/#/c/9119/) where all afr* calls are removed from glfs-heal.c, so I think that would fix the issue. [1]http://docstore.mik.ua/orelly/unix3/mac/ch05_03.htm http://stackoverflow.com/questions/7619607/how-portable-is-linking-executables-against-loadable-modules _______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://supercolony.gluster.org/mailman/listinfo/gluster-devel