RTLD_GLOBAL and sql_ippool

Alan DeKok aland at deployingradius.com
Fri May 9 14:56:54 CEST 2008


Stephen Gran wrote:
> 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*.

  Arg...

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

  The problem is that libtool is getting in the way here.  The dynamic
linker can link to rlm_foo.so if you point to the file directly.  The
"lib" prefix requirement is there only for the common case.

  libtool, on the other hand... if you give it
"/path/to/rlm/rlm_foo.la", it will often produce a link line saying
"-L/path/to/rlm -lfoo", which is wrong.  If you instead link to a
library as "-lfoo", it will produce a link line of "/usr/lib/libfoo.so".

  I can't figure out why it does this.  It's retarded.

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

  What code changes?

>  So, given that either waiting or doing some work now means some
> changes, which seems like a better plan?

  I'd rather see it fixed properly.

  Alan DeKok.



More information about the Freeradius-Devel mailing list