Hi All, I have been reading lots into this, and related libltdl issues on Debian, and trying to solve this myself. The problem is that I am not a great developer / debugger, just a Sys Admin. I know that there is 'issues' with FreeRADIUS (and other software) on Debian. However I need a working system with a number of features (SQL, SQL IP Pool and Perl). I am willing to forgo some niceties to have a working system, but I want this to be contained. I was reading through the thread "RTLD_GLOBAL and sql_ippool" from the list. I understand the issues at hand and that there is no 'current' solution to this issue. There are some work-arounds however. I opted to try and build the FreeRADIUS package with it's own libltdl library and install this as a package local library. This is, in my view, the cleanest current solution. I have modified the debian/rules file: +++ debian/rules 2008-09-24 14:21:49.000000000 +0200 @@ -68,7 +68,7 @@ --localstatedir=/var \ --with-raddbdir=$(raddbdir) \ --with-logdir=/var/log/$(package) \ - --with-system-libtool --disable-ltdl-install \ + --with-included-ltdl --enable-ltdl-install \ --with-large-files --with-udpfromto --with-edir \ --enable-developer \ --with-rlm-sql-postgresql-lib-dir=`pg_config --libdir` \ This makes the build system build and (try to) install a local libltdl. The local version has the RTDL_GLOBAL in the dlopen() call. My problem is that the build system still links all the libraries to the system libltdl.so in /usr/lib/ and not to the 'new' version in /usr/lib/freeradius For testing, I modified the sym-link /usr/lib/libltdl.so.3 (the debian linked library) to point to the new version. Doing this, FreeRADIUS would run. It is not, however, the contained solution that I wanted. I am unsure how to tell the build system to use this new library. I have done some small experiments, with no success. Here is a small extract from the build log, regarding the rlm_sql module: gcc -Wall -g -O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -D_GNU_SOURCE -g -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -W -Wredundant-decls -Wundef -I/home/src/FreeRADIUS/testing/freeradius-server-2.1.0/src -I/home/src/FreeRADIUS/testing/freeradius-server-2.1.0/libltdl -I/home/src/FreeRADIUS/testing/freeradius-server-2.1.0/libltdl -I/home/src/FreeRADIUS/testing/freeradius-server-2.1.0/src/modules/rlm_sql -c rlm_sql.c -fPIC -DPIC -o .libs/rlm_sql.o -- libtool: install: warning: relinking `rlm_sql.la' (cd /home/src/FreeRADIUS/testing/freeradius-server-2.1.0/src/modules/rlm_sql; /bin/sh /home/src/FreeRADIUS/testing/freeradius-server-2.1.0/libtool --mode=relink gcc -release 2.1.0 -module -export-dynamic -o rlm_sql.la -rpath /usr/lib/freeradius rlm_sql.lo sql.lo rlm_sql.c sql.c /home/src/FreeRADIUS/testing/freeradius-server-2.1.0/src/lib/libfreeradius-radius.la /home/src/FreeRADIUS/testing/freeradius-server-2.1.0/libltdl/libltdl.la -lnsl -lresolv -lpthread -inst-prefix-dir /home/src/FreeRADIUS/testing/freeradius-server-2.1.0/debian/tmp) gcc -shared .libs/rlm_sql.o .libs/sql.o -Wl,--rpath -Wl,/usr/lib/freeradius -L/home/src/FreeRADIUS/testing/freeradius-server-2.1.0/debian/tmp/usr/lib/freeradius -L/usr/lib/freeradius -lfreeradius-radius -lltdl -lnsl -lresolv -lpthread -Wl,-soname -Wl,rlm_sql-2.1.0.so -o .libs/rlm_sql-2.1.0.so ----------------------- Here I see that in the "libtool" line, "-L/usr/lib/freeradius" is set before the "-lltdl", as is "-Wl,--rpath -Wl,/usr/lib/freeradius". Still the outcome is: ldd /usr/lib/freeradius/rlm_sql.so linux-gate.so.1 => (0xffffe000) libfreeradius-radius-2.1.0.so => /usr/lib/freeradius/libfreeradius-radius-2.1.0.so (0xb7fcf000) libltdl.so.3 => /usr/lib/libltdl.so.3 (0xb7fbf000) libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7fa9000) libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb7f95000) libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7f83000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e52000) /lib/ld-linux.so.2 (0x80000000) libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e4e000) ----------------------- Can anyone tell me how I can get this to build against the included libltdl? If so, this could be worthy of a patch to the debian system for people who need this to work before the whole this is "fixed properly" in the words of Alan DeKok ;) Thanks Chris