hi all,
it happens that i have to use an sun solaris 8 server for installing ser, radiusclient and freeradius. unfortunately i have got a problem while making radiusclient:
make[2]: Entering directory `/var/home/tju/SER-Server/radiusclient-0.4.3/src' /bin/bash ../libtool --mode=link gcc -g -O2 -o radlogin radlogin.o radius.o local.o ../lib/libradiusclient.la -lcrypt -lsocket -lnsl gcc -g -O2 -o .libs/radlogin radlogin.o radius.o local.o ../lib/.libs/libradiusclient.so -lcrypt -lsocket -lnsl -R/usr/local/lib Undefined first referenced symbol in file strsep ../lib/.libs/libradiusclient.so ld: fatal: Symbol referencing errors. No output written to .libs/radlogin collect2: ld returned 1 exit status make[2]: *** [radlogin] Error 1 make[2]: Leaving directory `/var/home/tju/SER-Server/radiusclient-0.4.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/home/tju/SER-Server/radiusclient-0.4.3' make: *** [all] Error 2
normally the function strsep() should be declared at string.h....but solaris is different. there is no declaration of this function or i have not found it.
does anyone had the same problem while compiling on a solaris?
regards thomas
PS: meanwhile i tried a quckfix and added the following code into %radiusclient%/lib/dict.c (which uses strsep):
#ifndef HAVE_STRSEP static char * strsep(char **stringp, char *delim) { char *start = *stringp; char *cp; char ch;
if (start == NULL) return NULL;
for (cp = start; ch = *cp; cp++) { if (strchr(delim, ch)) { *cp++ = 0; *stringp = cp; return start; } } *stringp = NULL; return start; } #endif