On Thu, May 08, 2008 at 04:21:41PM +0200, Alan DeKok said:
Stephen Gran wrote:
... This means adding rlm_sql.la on the link line, which I'm concerned is likely to be unportable across platforms.
Libtool will take care of any platform portability issues. It may complain (a lot) but it should work.
Do any of you have a better idea about how to proceed? Several other, probably worse, options have occured to me, but I won't bore you with all the details just now.
Linking against rlm_sql.la is probably the best thing.
That's what I was hoping you would say. Now for the tedious part - the tools (libtool, in particular) really doesn't seem to want to play when the .so you're linking to doesn't begin with lib*. Does anyone have any great ideas for how to make this work? How difficult would it be to change the name of the modules from rlm_* to librlm_* ? Or is there a better way I'm not seeing?
There is a new version of libltdl out there that has new functions for loading with RTLD_GLOBAL, but it looks like the upstream default is for all dlopen'ed objects to be loaded without.
OK...
Sorry - I didn't quite finish that thought. What I meant to say was that for the time being, we're stuck with either broken modules or using a bundled libltdl, neither of which is a great solution. It looks like libtdl upstream will make it possible to load the way we are again with the stock library, but that will mean code changes in freeradius as well. So, given that either waiting or doing some work now means some changes, which seems like a better plan? Thanks, -- -------------------------------------------------------------------------- | Stephen Gran | Porsche: there simply is no substitute. | | steve@lobefin.net | -- Risky Business | | http://www.lobefin.net/~steve | | --------------------------------------------------------------------------