I am compling Cistron's 1.6.3 radius on 4.0D and am receiving a
compilation error that the variable "CLIENT" in the radiusd.h has a prior
declaration in /usr/include/rpc/clnt.h.
I cannot get the compiler to ignore a previous declaration since the rpc
header files are called by the system header files.
I can sometimes successfully hack code but am not a programmer
professionally.
Has anyone made a change to successfully compile this version of radius?
Any recommendations on the best method to pursue?
ERROR:
cc: Error: radiusd.h, line 102: In this declaration, "CLIENT" has no
linkage and has a prior declaration in this scope at line number 142 in
file /usr/include/rpc/clnt.h.
} CLIENT;
--^
FROM THE RADIUSD.H
typedef struct client {
UINT4 ipaddr;
char longname[256];
u_char secret[16];
char shortname[32];
struct client *next;
} CLIENT;
FROM /USR/INCLUDE/RPC/CLNT.H
/*
* Client rpc handle.
* Created by individual implementations, see e.g. rpc_udp.c.
* Client is responsible for initializing auth, see e.g. auth_none.c.
*/
typedef struct __client {
AUTH *cl_auth; /* authenticator */
struct clnt_ops {
enum clnt_stat (*cl_call) __((struct __client *, u_long,
xdrproc_t, char *, xdrproc_t,
char *, struct timeval)); /* call remote
procedur$
void (*cl_abort) __(()); /* abort a call */
void (*cl_geterr) __((struct __client *,
struct rpc_err *)); /* get specific error code
*/
bool_t (*cl_freeres) __((struct __client *, xdrproc_t,
char *)); /* frees results */
void (*cl_destroy) __((struct __client *));/* destroy
this s$
bool_t (*cl_control) __((struct __client *, int, char
*));/* t$
} *cl_ops;
caddr_t cl_private; /* private stuff */
} CLIENT;
Received on Tue May 16 2000 - 23:02:42 NZST