I've added #include <stdio.h> to the top of the file, just to catch
the popen/pclose definitions, but those were just the warnings.
On Linux, it looks like signal() takes a handler who wants an
integer as an argument; it appears IRIX's signal() wants a
handler who takes no arguments.
Is it as simple as this, or is the problem perhaps in the #include
of signal.h? Often an operating system will define multiple
function prototypes (which map to multiple implementations) for
development "compatability environments".
Linux glibc2 signal():
void (*signal(int signum, void (*handler)(int)))(int);
Solaris 7 signal():
void (*signal (int sig, void (*disp)(int)))(int);
FreeBSD 2.2.5 signal():
void (*signal(int sig, void (*func)(int)))(int);
-- Shaw Terwilliger