On Tue, May 06, 2008 at 11:47:40PM +0100, Stephen Gran wrote: > This one time, at band camp, Josip Rodin said: > > Hi, > > > > The sqlippool module is still broken in the new version, which really > > isn't right... this has been sitting here for a while, has upstream > > been notified? They maintain a pretty optimistic > > http://wiki.freeradius.org/Rlm_sqlippool as if nothing could ever go > > wrong... how does it work for them? > > They use a bundled copy of libltdl that uses RTDL_GLOBAL for symbol > imports. We're trying our best not to use bundled copies of libraries > already in Debian, although I'm quickly running out of other options for > Lenny. I've tried communicating with the libtool maintainers about some > of the features in the new upstream (one of which is an option to use > RTDL_GLOBAL imports conditionally), but my queries have been met with > deafening silence.
Ow. Okay, getting back to the more obvious solution, to link the two .so's together, let me document the exact details of the workaround for the benefit of readers: Adding the .la file from the rlm_sql/.libs/ directory to that ghastly libtool invocation, seems to work for me: % cd ~/freeradius-2.0.3/src/modules/rlm_sqlippool % /usr/bin/libtool --mode=link gcc -release 2.0.3 -module -export-dynamic -o rlm_sqlippool.la -rpath /usr/lib/freeradius rlm_sqlippool.lo rlm_sqlippool.c /home/joy/freeradius-2.0.3/src/lib/libfreeradius-radius.la /home/joy/freeradius-2.0.3/src/modules/rlm_sql/rlm_sql.la -lnsl -lresolv -lpthread *** Warning: Linking the shared library rlm_sqlippool.la against the loadable module *** rlm_sql.so is not portable! rm -fr .libs/rlm_sqlippool-2.0.3.so .libs/rlm_sqlippool.a .libs/rlm_sqlippool.la .libs/rlm_sqlippool.lai .libs/rlm_sqlippool.so gcc -shared .libs/rlm_sqlippool.o -Wl,--rpath -Wl,/home/joy/freeradius-2.0.3/src/lib/.libs -Wl,--rpath -Wl,/home/joy/freeradius-2.0.3/src/modules/rlm_sql/.libs -Wl,--rpath -Wl,/usr/lib/freeradius /home/joy/freeradius-2.0.3/src/lib/.libs/libfreeradius-radius.so /home/joy/freeradius-2.0.3/src/modules/rlm_sql/.libs/rlm_sql.so -lnsl -lresolv -lpthread -Wl,-soname -Wl,rlm_sqlippool-2.0.3.so -o .libs/rlm_sqlippool-2.0.3.so (cd .libs && rm -f rlm_sqlippool.so && ln -s rlm_sqlippool-2.0.3.so rlm_sqlippool.so) ar cru .libs/rlm_sqlippool.a rlm_sqlippool.o ranlib .libs/rlm_sqlippool.a creating rlm_sqlippool.la (cd .libs && rm -f rlm_sqlippool.la && ln -s ../rlm_sqlippool.la rlm_sqlippool.la) % ldd .libs/rlm_sqlippool-2.0.3.so libfreeradius-radius-2.0.3.so => /home/joy/freeradius-2.0.3/src/lib/.libs/libfreeradius-radius-2.0.3.so (0x00002b2cdb9c5000) rlm_sql-2.0.3.so => /home/joy/freeradius-2.0.3/src/modules/rlm_sql/.libs/rlm_sql-2.0.3.so (0x00002b2cdbae7000) libnsl.so.1 => /lib/libnsl.so.1 (0x00002b2cdbbf4000) libresolv.so.2 => /lib/libresolv.so.2 (0x00002b2cdbd0c000) libpthread.so.0 => /lib/libpthread.so.0 (0x00002b2cdbe21000) libc.so.6 => /lib/libc.so.6 (0x00002b2cdbf36000) libltdl.so.3 => /usr/lib/libltdl.so.3 (0x00002b2cdc174000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) libdl.so.2 => /lib/libdl.so.2 (0x00002b2cdc27b000) And freeradius runs with this /usr/lib/freeradius/rlm_sqlippool-2.0.3.so replaced. Paul Hampson wrote earlier that he had problems plugging this into the Makefile system, because he added: RLM_LIBS = $(topdir)/src/modules/lib/rlm_sql.la Instead of that, I had added: RLM_LIBS = $(top_builddir)/src/modules/rlm_sql/.libs/rlm_sql.la But actually both versions seemed to get it to link for me, my libtool didn't have a problem finding src/modules/lib/.libs/rlm_sql.so and giving that to gcc. It's 1.5.22, from etch, which might be relevant. -- 2. That which causes joy or happiness. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]