"Andrew P. Kokarev" <[EMAIL PROTECTED]> wrote:
> It looks like FreeRadius isn't portable to OpenBSD due to semaphores issue.

  Then OpenBSD should enter the twentieth century.
 
> There are no (POSIX?) semaphores in OpenBSD, nor /usr/include/semaphore.h.
> While pthreads correctly found in libc_r by configure, absence of
> semaphore.h, indicated by undefined HAVE_SEMAPHORE_H, is ignored by
> uncoditional include <semaphore.h> in src/main/threads.c

  Hmm... I may be able to fix that.

> OpenBSD has SVID compatible semaphores (/usr/include/sys/sem.h)
> semget() etc. Could these be used instead of POSIX?

  No.  SYSV semaphores are horrible evil nasty useless broken garbage.

  Look in the list archives.  There's a work-around library for *BSD
which provides the semaphore functionality.  I'll also see if I can
add it to the server source.  <sigh>

> Other (minor) issue: while libgdbm.a  found in /usr/local/lib by
> configure, it is not found when building rlm_dbm (needs adding -L/usr/local/lib
> to RLM_LIBS in rlm_dbm/Makefile).

  Hmm... that's minor.  And it would *not* be a problem if the system
was configured correctly, so that -lgdbm would cause the linker to
look in /usr/local/lib.

  The problem often is that administrators put libraries in weirder
places than /usr/local/lib, and then they blame FreeRADIUS for not
being able to find the libraries in:

  /opt/package/administrator/machine/version/try2/lib ...

  Linking is a system issue.  If a program can't find libraries on
your system, blame your linker, not the program.

> Both of these are confirmed to exist in both 0.4 and 12/26 CVS FreeRadius and
> OpenBSD 3.0.

  I don't know about OpenBSD, but Linux has /etc/ld.so.conf, where you
can tell it every magic directory you've placed a library.

> IIRC if I disable threads altogether, resulting radiusd will be unusable,
> right?

  Pretty much, yes.

  Alan DeKok.

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

Reply via email to