problem linking auth module to freeradius functions

kky mingyur at inventati.org
Tue Sep 26 18:00:02 CEST 2006


Hi, I'm developing an auth module based on eap outside of the FreeRADIUS
environment and I'm having
some problems  linking freeRadius functions to my module !
this is the output of gcc :

gcc -g -o rlm_eap_xxx-1.1.3.so -DNDEBUG -Wall
-I/tmp/freeradius-1.1.3/src/include
-I/tmp/freeradius-1.1.3/src/modules/rlm_eap
-I/tmp/freeradius-1.1.3/src/modules/rlm_eap/libeap
-I/tmp/freeradius-1.1.3/src/lib -I/home/ns/rlm_eap_xxx
-I/usr/local/include -I/usr/local/lib -I/usr/include
-L/tmp/freeradius-1.1.3/src/lib -L/usr/local/lib -lgcrypt
-L/usr/local/lib -lgpg-error   rlm_eap_xxx.o eap_xxx.o crypto_xxx.o

/usr/lib/crt1.o(.text+0x18): In function `_start':
../sysdeps/i386/elf/start.S:115: undefined reference to `main'
rlm_eap_xxx.o(.text+0x9): In function `xxx_initiate':
/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:55: undefined reference to `debug_flag'
rlm_eap_xxx.o(.text+0x1a):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:55:
undefined reference to `log_debug'   (THIS LINE IS CALLING DEBUG2(....))
rlm_eap_xxx.o(.text+0x6f):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:72:
undefined reference to `radlog'            ( this line calls
radlog(L_ERR, "rlm_eap_xxx: out of memory");)
rlm_eap_xxx.o(.text+0xc2):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:88:
undefined reference to `radlog'               ( this line calls radlog(...))
rlm_eap_xxx.o(.text+0x14e):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:114:
undefined reference to `debug_flag'   (THIS LINE IS CALLING DEBUG2(....))
rlm_eap_xxx.o(.text+0x15f):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:114:
undefined reference to `log_debug'  
rlm_eap_xxx.o(.text+0x180): In function `xxx_authenticate':
/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:124: undefined reference to `debug_flag'
rlm_eap_xxx.o(.text+0x191):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:124:
undefined reference to `log_debug'      DEBUG2()
rlm_eap_xxx.o(.text+0x1bd):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:146:
undefined reference to `radlog'               radlog()
rlm_eap_xxx.o(.text+0x29c):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:168:
undefined reference to `radlog'
rlm_eap_xxx.o(.text+0x2df):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:173:
undefined reference to `radlog'
rlm_eap_xxx.o(.text+0x2fc):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:180:
undefined reference to `debug_flag'
rlm_eap_xxx.o(.text+0x30d):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:180:
undefined reference to `log_debug'
rlm_eap_xxx.o(.text+0x329):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:182:
undefined reference to `pairmake'      THIS LINE CALLS pairmake()
rlm_eap_xxx.o(.text+0x346):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:184:
undefined reference to `radlog'
rlm_eap_xxx.o(.text+0x36d):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:188:
undefined reference to `pairadd'
rlm_eap_xxx.o(.text+0x386):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:194:
undefined reference to `pairfind'
rlm_eap_xxx.o(.text+0x3a3):/home/ns/rlm_eap_xxx/rlm_eap_xxx.c:206:
undefined reference to `radlog'
eap_xxx.o(.text+0x2b): In function `eapxxx_alloc':
/home/ns/rlm_eap_xxx/eap_xxx.c:71: undefined reference to `radlog'
eap_xxx.o(.text+0x17b): In function `eapxxx_extract':
/home/ns/rlm_eap_xxx/eap_xxx.c:133: undefined reference to `radlog'
eap_xxx.o(.text+0x24c):/home/ns/rlm_eap_xxx/eap_xxx.c:200: undefined
reference to `radlog'
eap_xxx.o(.text+0x36a): In function `eapxxx_compose':
/home/ns/rlm_eap_xxx/eap_xxx.c:289: undefined reference to `radlog'
eap_xxx.o(.text+0x4a9):/home/ns/rlm_eap_xxx/eap_xxx.c:340: more
undefined references to `radlog' follow
eap_xxx.o(.text+0x4d9): In function `xxx_msg1':
/home/ns/rlm_eap_xxx/eap_xxx.c:349: undefined reference to `lrad_rand'
eap_xxx.o(.text+0x4fe):/home/ns/rlm_eap_xxx/eap_xxx.c:351: undefined
reference to `radlog'
eap_xxx.o(.text+0x530):/home/ns/rlm_eap_xxx/eap_xxx.c:355: undefined
reference to `radlog'
eap_xxx.o(.text+0x626): In function `xxx_msg3':
/home/ns/rlm_eap_xxx/eap_xxx.c:396: undefined reference to `radlog'
eap_xxx.o(.text+0x656):/home/ns/rlm_eap_xxx/eap_xxx.c:402: undefined
reference to `radlog'
collect2: ld returned 1 exit status
make: *** [rlm_eap_xxx-1.1.3.so] Error 1


in rlm_eap_xxx.c  I'm including : #include <radiusd.h> , suggestions ?
thank you !
kky





More information about the Freeradius-Devel mailing list