I'm trying to run freeradius on an OS X machine and I have been reading threads relating to issues people have had over the years when receiving a message saying:

ERROR: Failed to initialize semaphore: Function not implemented

Running radiusd -X works fine on OS X but doing rc.radiusd start or just radiusd gives the error. I'm guessing that the -X parameter gives realtime logging information probably doesn't use semaphores as it may only be a single thread.

I have downloaded the BSD code for semaphores and copied libsem.a and the associated .h, .c and .o files to the /src/main directory. I've gone into the Makefile and edited the libs line to look like this as per the message at http://www.mail-archive.com/[EMAIL PROTECTED]/ msg04260.html (I think there was a typo in the original message and I interpreted it to really be this).

LIBS += -lradius $(SNMP_LIBS) libsem.a

Implementing this change or the alternate one suggested on the above link has not changed the situation.

I am not an expert with linking libraries. OS X with developer tools does have a semaphore.h file located in /usr/include. I would guess that there may be a dynamic library somewhere in the OS. Could this be conflicting with the BSD implementation I downloaded? What is the process to get this to link properly?

Dave Watson


- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to