[Gluster-devel] glfsheal test failures

Ravishankar N ravishankar at redhat.com
Fri Dec 12 14:07:08 UTC 2014


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


More information about the Gluster-devel mailing list