Print

Print


2012/2/14 Brian Bockelman <[log in to unmask]>:
> You might also want to add this link for shared library info:
>
> http://www.akkadia.org/drepper/dsohowto.pdf

   Yes, I have read this, it's a good one, but mainly covers how the
linking is done and not what the best practices are. I will add the
link nonetheless.

> As an aside - ABI compatibility is an unholy nightmare in C++ in my opinion!

   Oh, yes it is, but the problem needs to be addressed in one way or
another. And our current approach of simply ignoring it is IMO
unacceptable. I haven't managed to find any decent tool that would
take two libraries and compare them for binary compatibility. There is
a couple on the net, but none of them works well. I had this idea to
write a python script that would extract DWARF info from the binaries
and compare the callstack definitions and struct memory layout, but I
don't really have time to do it. Good candidate for a couple of boring
Sunday afternoons ;)

> It'd be nice to write the policy about loadable modules - I've noticed the OSS and GSI interfaces have migrated a bit in trunk.  It would make me a lot happier if there was a more deterministic way to tell if a module is compatible with a given version of Xrootd than to load it and watch for segfaults...

   Yes, we have discussed this with Andy already, and he was to
prepare some "magic macros" that would be interpreted after dlopening.
As for the normal linking, we have promised to do proper library
versioning from 3.1.0 onwards, and I will take care of it.

Cheers,
   Lukasz

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1