M. Michael Barmada wrote:
Hi,
I'm wondering if anyone has had success compiling gmetad on OSX? Even
after getting everything else working (installing rrd through fink
required some additional arguments to configure to get all the libraries
recognized), 'make' keeps failing in the gmetad directory with the
following output:
source='rrd_helpers.c' object='rrd_helpers.o' libtool=no \
depfile='.deps/rrd_helpers.Po' tmpdepfile='.deps/rrd_helpers.TPo' \
depmode=gcc /bin/sh ../config/depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/sw/include -I../lib -I../gmond -g
-O2 -Wall -c `test -f 'rrd_helpers.c' || echo './'`rrd_helpers.c
In file included from /usr/include/mach/host_info.h:65,
from /usr/include/mach/mach_types.h:66,
from /usr/include/pthread.h:44,
from ../lib/ganglia/net.h:19,
from ./gmetad.h:3,
from rrd_helpers.c:9:
/usr/include/mach/time_value.h:62: redefinition of `struct time_value'
rrd_helpers.c: In function `my_mkdir':
rrd_helpers.c:25: warning: implicit declaration of function `err_sys'
rrd_helpers.c: In function `RRD_update':
rrd_helpers.c:57: warning: implicit declaration of function `err_msg'
rrd_helpers.c:61: warning: implicit declaration of function `debug_msg'
make[2]: *** [rrd_helpers.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Anyone have any ideas?
At first glance it looks like a namespace collision between gmetad and a
platform-specific include file...
... except we don't define time_value ("timeval" does get used a lot
though). RRD does, in rrd.h. Maybe this is fixed in a newer version? If
not, you can try a search and replace.
The warnings that follow are interesting - those are all defined in
libganglia. Sounds like it isn't finding those headers.
This advice should be taken as extremely tentative in lieu of an actual
response from the entity responsible for the OS X port (who may never have
considered building gmetad on the Mac in the first place ... I know I never
considered building it on Tru64...).