Re: Radius 1.16 with dbm support

Per Hedeland (per@erix.ericsson.se)
Wed, 29 Jan 1997 19:53:41 +0100 (MET)

jdschn@dilbert.monsanto.com (John D Schneider) wrote:
> As a follow up to my message yesterday:
...
>> gcc -traditional -O -Dsys5 -o radiusd.dbm radiusd.o dict.o usersdbm.o
util.o md5.o attrprint.o acct.o versiondbm.o -lndbm -lnsl -lsocket
^
^^^^^^
>> ld: fatal: library -lndbm: not found
...
>gcc -traditional -O -Dsys5 -o radiusd.dbm radiusd.o dict.o usersdbm.o
util.o md5.o attrprint.o acct.o versiondbm.o -ldbm -lnsl -lsocket
^^^^^
I.e. the problem with your first attempt was that you specified -lndbm
instead of -ldbm - there is no *n*dbm library on Solaris as those
functions are in the standard C library.

>Undefined first referenced
> symbol in file
>bzero /usr/ucblib/libdbm.a(dbm.o)

Bzero is in libc on Solaris 2.5, but not 2.4 (go figure:-); on 2.4 you
can find it in /usr/ucblib/libucb.*, which you would get by adding -lucb
to the link line.

However I definitely advise *against* using anything under /usr/ucblib
on Solaris, there are lots of bugs in it and you run into weird
compatibility problems (e.g. it is absolutely mandatory to use
/usr/ucbinclude for include files). It seem radius 2.0 can use ndbm
instead of dbm, going with that would be a much better solution.

--Per Hedeland
per@erix.ericsson.se