3.0 (master) build error

Fajar A. Nugraha list at fajar.net
Wed Jan 11 14:40:45 CET 2012


On Wed, Jan 11, 2012 at 7:05 PM, Alan DeKok <aland at 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




More information about the Freeradius-Devel mailing list