Print

Print


libXrdSsi and libXrdSsiLog have either deficient or contradictory flags in src/XrdSsi.cmake, and likewise libXrdThrottle in src/XrdPlugins.cmake. They each have `add_library(...SHARED...)`, but do not have `VERSION` or `SOVERSION` data there or in their `set_target_properties()`. As a result, they get compiled as a shared library (for dyld linking) but do not have the usual versioned and nonversioned file and symlinks. The lack of versioning suggests they are instead runtime-loadable modules (dlopen or something like that), which is consistent with the inline comments that they are plugins. If so, they should be declared as `MODULE` (like for libXrdHttp in src/XrdHttp.cmake) rather than `SHARED`. Lots of .cmake are inconsistent about what they call a "library" vs "plugin" or "module" in the inline comments and I don't use xrootd much myself, so I don't know which way to go for fixing it.

On many platforms, this distinction probably doesn't matter. But on OS X, shared-libraries and runtime-loadable modules have different extensions (.dylib vs .so, respectively), and the search algorithms for one context might not find files that have the wrong extension.


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/653

########################################################################
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