I've been trying for a few days to get FreeRADIUS from CVS compiled on
a FreeBSD-4.9 and FreeBSD-5.2 machine.  I want to use it to
authenticate users connecting to LinkSys WRT54G wireless routers
running the Sveasoft firmware.

But builds on both versions of FreeBSD fail spectacularly in a variety
of places depending on how I specify options to "configure".

Has any other FreeBSD user out there gotten this to compile?

I'm a sometimes coder but don't grok libtool very well, and it seems
to be having problems finding libraries.

Most recently I've been trying to put the "configure" command into a
script file so I could tweak options, currently trying:


  CPPFLAGS="-I/usr/local/include"
  LDFLAGS="-L/usr/local/lib"
  CFLAGS="$CPPFLAGS $LDFLAGS"

  export CPPFLAGS
  export LDFLAGS
  export CFLAGS

  WITHOUTFLAGS="\
  --without-rlm_krb5 \
  --without-rlm_ldap \
  --without-rlm_python \
  --without-rlm_sql \
  --without-rlm_sqlcounter \
  --without-rlm_x99_token \
  "

  # Try and force these to look in /usr/local/lib, etc.
  # --with-rlm-MODULE-lib-dir=DIR
  # --with-rlm-MODULE-include-dir=DIR

  WITHFLAGS="\
  --with-rlm-ippool-lib-dir=/usr/local/lib \
  "

  OLDFLAGS="\
  --with-large-files \
  "

  ./configure \
  --prefix=/usr/local \
  --with-logdir=/var/log \
  --localstatedir=/var \
  --disable-ltdl-install \
  $WITHFLAGS \
  $WITHOUTFLAGS \
  CPPFLAGS="$CPPFLAGS" \
  CFLAGS="$CFLAGS" \
  LDFLAGS="$LDFLAGS" 

Failing because it's not finding the ../lib/rbtree stuff.

  creating .libs/radiusdS.c
  (cd .libs && gcc -c -fno-builtin "radiusdS.c")
  rm -f .libs/radiusdS.c .libs/radiusd.nm .libs/radiusd.nmS .libs/radiusd.nmT
  gcc .libs/radiusdS.o -I/usr/local/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS 
-DOPENSSL_NO_KRB5 -Wall -D_GNU_SOURCE -g -Wshadow -Wpointer-arith -Wcast-qual 
-Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wmissing-declarations -Wnested-externs -W -Wredundant-decls -Wundef -I../include 
-DHOSTINFO=\"i386-unknown-freebsd5.2\" -DRADIUSD_VERSION=\"1.1.0-pre0\" -o radiusd 
radiusd.o files.o util.o acct.o nas.o log.o valuepair.o version.o proxy.o exec.o 
auth.o timestr.o conffile.o modules.o modcall.o session.o xlat.o threads.o smux.o 
radius_snmp.o client.o request_list.o mainconfig.o -Wl,--export-dynamic  
-L/usr/local/lib -L/usr/local/src/CVS/freeradius/radiusd/src/lib -lpthread 
/usr/local/lib/libradius.so /usr/local/lib/libltdl.so -lcrypt -lcipher -lssl -lcrypto 
-Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib
  xlat.o: In function `xlat_find':
  /usr/local/src/CVS/freeradius/radiusd/src/main/xlat.c:294: undefined reference to 
`rbtree_finddata'
  xlat.o: In function `xlat_register':
  /usr/local/src/CVS/freeradius/radiusd/src/main/xlat.c:323: undefined reference to 
`rbtree_create'


I've been able to work around most of the other libraries libtool
isn't finding.  It seems to be avoiding /usr/local/lib, perhaps
becuase "gcc -print-search-dirs" only shows

  libraries: =/usr/lib/

without /usr/local/lib.  I've been trying to hack the "configure"
script to generate libtool with /usr/local/lib where appropriate but
there appear to be about 20 places where this is needed.  I must be
missing something obvious because it seems it can't be this hairy and
repetitive. 

Any clues? 

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

Reply via email to