On Wed, Jan 11, 2012 at 7:05 PM, Alan DeKok <aland@deployingradius.com> wrote:
Fajar A. Nugraha wrote:
Ah, OK. I was able to do some testing with DHCP in 3.x and it works, but looking at 2.x (the config file, at least) there are indeed improvements there. Will try 2.x later.
There are a number of code changes, too.
After some testing I'm finding it hard to get 2.x DHCP to work properly, while in 3.x at least a linux client using "dhclient" was able to get correct response. I'll post more about this in a separate thread. Would freeradius-user be more appropriate for this?
So my build result with 3.x is basically like this: - simple ./configure && make works - using "./configure --enable-ltdl-install=no --with-system-libtool --with-system-libltdl && make" does NOT work, ‘lt_dladvise’ undeclared error.
What it the *actual* error? lt_dladvise is a structure. The configure script checks for lt_dladvise_init(). If that function exists, so does lt_dladvise.
So my question is *why* does it find lt_dladvise_init(), and *where* is it found?
Sorry, I was trying several build scenarios and forgot to copy the exact message. Just retried it with ./configure --enable-ltdl-install=no --with-system-libtool --with-system-libltdl && make Last few lines of output: CC modules.c modules.c: In function ‘fr_dlopenext’: modules.c:252:2: error: ‘lt_dladvise’ undeclared (first use in this function) modules.c:252:2: note: each undeclared identifier is reported only once for each function it appears in modules.c:252:14: error: expected ‘;’ before ‘advise’ modules.c:254:2: warning: implicit declaration of function ‘lt_dladvise_init’ modules.c:254:26: error: ‘advise’ undeclared (first use in this function) modules.c:255:6: warning: implicit declaration of function ‘lt_dladvise_ext’ modules.c:256:6: warning: implicit declaration of function ‘lt_dladvise_global’ modules.c:257:3: warning: implicit declaration of function ‘lt_dlopenadvise’ modules.c:260:2: warning: implicit declaration of function ‘lt_dladvise_destroy’ make[4]: *** [modules.lo] Error 1 make[3]: *** [main] Error 2 make[2]: *** [all] Error 2 make[1]: *** [src] Error 2 make: *** [all] Error 2
Editing src/include/modpriv.h to force #include "ltdl.h" made the compile process worked again. This breaks plain "./configure" though. I'm guessing commit ce27f4e from v2.1.x was not completely ported yet.
No, that functionality was back-ported from 3.0 to v2.1.x. It exists in 3.0, in modpriv.h. You should have seen that when editing modpriv.h.
It's there, but enclosed in an #ifdef block. My change: https://github.com/fajarnugraha/freeradius-server/commit/2403743 Not good, but at least it builds. I'm guessing that somehow WITH_SYSTEM_LTDL was not defined in my original 3.x build. In case it matters, I use ubuntu natty with libltdl7 2.2.6b-2ubuntu3 and libltdl-dev 2.2.6b-2ubuntu3.
If you didn't see it, it's because you have an old copy of the source.
I cloned https://github.com/alandekok/freeradius-server.git, last commit was b575b38 : Always use buffer
- "dpkg-buildpackage -b" failed with "Patch sql_modules.diff does not exist".
The file is in debian/patches.
It's not on https://github.com/alandekok/freeradius-server/tree/master/debian/patches -- Fajar