Hello, I am writing a FreeRadius (Version 2) module for version Freeradius 2.1.10 . The module works fine. When i want to link a shared/static library from the Makefile of the module i get errors.
I link to a static library and i run radius server with the module ( radiusd -X) then i get the error: /usr/local/etc/raddb/radiusd.conf[665]: Failed to link to module 'rlm_itap': file not found makefile of the freeradius module : *VERS = 2.1.10 CFLAGS = -DNDEBUG -Wall -I/usr/include \ -I/usr/ports/net/freeradius2/work/freeradius-server-$(VERS)/src LIBS = -lc -L. icc-wrapper.a ALL: rlm_itap.o rlm_itap-$(VERS).so* rlm_itap is the name of my module. When i remove *icc-wrapper.a , everything works fine. *For the shared library case. Everything works fine until the function from the shared library is called inside the module. I got the error: /libexec/ld-elf.so.1: /usr/local/lib/freeradius-2.1.10/rlm_itap.so: Undefined symbol "sendiccmsg" in that case. sendiccmsg is the only function i have in my shared library. The makefile of the freeradius module: VERS = 2.1.10 CFLAGS = -DNDEBUG -Wall -I/usr/include \ -I/usr/ports/net/freeradius2/work/freeradius-server-$(VERS)/src LIBS = -lc icc-wrapper.so ALL: rlm_itap.o rlm_itap-$(VERS).so rlm_itap.o: rlm_itap.c cc -g -fPIC -DPIC -c $(CFLAGS) rlm_itap.c rlm_itap-$(VERS).so: rlm_itap.o cc -g -shared -Wl,-soname,rlm_itap-$(VERS).so \ -o rlm_itap-$(VERS).so rlm_itap.o $(LIBS) install: ALL install rlm_itap-$(VERS).so /usr/local/lib/freeradius-$(VERS) ln -fs rlm_itap-$(VERS).so /usr/local/lib/freeradius-$(VERS)/rlm_itap.so clean: rm rlm_itap*.o rlm_itap*.so The static/shred library i am using is compiled as a C++ library with extern "C" in front of function definitions. Regards Resit Sahin
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html