The fix should be easy ... AIX 5.3 has no prototype for getprocs64() function (even though the function is available), so it is defined in monit process/sysdep_AIX.c file. It seems that AIX 6.1 fixed this - you can comment it out for example this way (workaround):
/* There is no prototype for getprocs64 as of AIX 5.3 yet */
int getprocs64(struct procentry64 *ProcessBuffer, int ProcessSize, struct fdsinfo64 *FileBuffer, int FileSize, pid_t *IndexPointer, int Count);
On Feb 9, 2010, at 8:46 PM, Derek wrote:
I have spent a bit of time trying to get monit to compile on AIX 6.1
without much luck. Installed all requisites and using gcc, gnu make
etc. I got this far with Martins advice using latest SVN from savannah.
./autogen.sh created the Makefile for me, and then I reached this issue
gcc -c -DAIX -DSYSCONFDIR="\"/usr/local/etc\"" -I. -I./device -I./http
-I./process -I./protocols -g -O2 -Wall -D _REENTRANT -I/usr/include
process/sysdep_AIX.c -o process/sysdep_AIX.o
process/sysdep_AIX.c:136: error: conflicting types for 'getprocs64'
/usr/include/procinfo.h:900: error: previous declaration of
'getprocs64' was here
process/sysdep_AIX.c: In function 'initprocesstree_sysdep':
process/sysdep_AIX.c:236: warning: implicit declaration of function
make: *** [process/sysdep_AIX.o] Error 1
Any suggestions would be greatly appreciated.
Thanks and kind regards