Russell Whitaker wrote:
On Sun, 25 Apr 2004, Frank Heckenbach wrote:
Russell Whitaker wrote:
Next problem I did a quick fix:
[..]
Is this a `#define'? If so, there's something seriously wrong, since the code you removed says `#if !defined (sys_siglist)'.
If it's a declaration instead, it looks like a problem with configure (SYS_SIGLIST_DECLARED should be set). I can't debug this now.
This is a snipet from /usr/include/signal.h :
#ifdef __USE_BSD
/* Names of the signals. This variable exists only for compatibility. Use `strsignal' instead (see <string.h>). */ extern __const char *__const _sys_siglist[_NSIG]; <----line 285 extern __const char *__const sys_siglist[_NSIG];
And this is a snipet from p/rts/rts.c :
#if defined (HAVE_SYS_SIGLIST) || defined (sys_siglist) #if !defined (sys_siglist) && !defined (SYS_SIGLIST_DECLARED) extern char **sys_siglist; <----line 211 #endif #elif defined (HAVE__SYS_SIGLIST) || defined (_sys_siglist) #if !defined (_sys_siglist) && !defined (_SYS_SIGLIST_DECLARED) extern char **_sys_siglist; #endif #define sys_siglist _sys_siglist #endif
The build complained about line 211 being previously defined ( at line 285 in /usr/include/signal.h ). Thought lines 210 and 214 should have the "&& !defined ( ... " removed, but I do not know what else needs to be done to the rest of the snipet to be a universal fix.
Why do you think so? Since your signal.h does declare the variable, SYS_SIGLIST_DECLARED should have been set by configure, so `!defined' (for our redeclaration) seems correct.
Apparently SYS_SIGLIST_DECLARED is not set (you can check in rts-config.h in the build dir) which would be a configure problem as I said.
Frank