snavigator on Linux Sparc64

Wed Aug 2 09:04:00 GMT 2000


   I have download the snavigator on a Linux Sparc64 (Ultra 5) and I try
to compile it.
I get two errors in the tclPosixStr.c file due to duplicate case value
In /usr/include/bits/signum.h we have the following definitions:
    #define SIGLOST 29
    #define SIGPWR SIGLOST

Due to this definitions I get the error mentioned above. When looking at
the code we have:

#if defined(SIGLOST) && (!defined(SIGIOT) || (SIGLOST != SIGIOT)) &&
(!defined(SIGURG) || (SIGLOST != SIGURG)) && (!defined(SIGPROF) ||
(SIGLOST != SIGPROF)) && (!defined(SIGIO) || (SIGLOST != SIGIO))
        case SIGLOST: return "SIGLOST";


#if defined(SIGPWR) && (!defined(SIGXFSZ) || (SIGPWR != SIGXFSZ)))
        case SIGPWR: return "SIGPWR";

We can see clearly that this is causing the error.

Now, to fix this error I change the SIGPWR line to:

#if defined(SIGPWR) && (!defined(SIGXFSZ) || (SIGPWR != SIGXFSZ)) &&
(!defined(SIGLOST) || (SIGPWR != SIGLOST))
        case SIGPWR: return "SIGPWR";

But I do not know the impact of this change in the code and on other
systems. It may be more appropriate to add the
!defined(SIGPWR) || (SIGLOST != SIGPWR) to the SIGLOST define
I would apreciate if you can let me know if this chande is OK or not.


More information about the Sourcenav mailing list