Posts Tagged aix

Building on AIX using the native compiler


this is basically the README.AIX file that will be in 3.0.4. It now has a better receipe for building with the native XLC compiler. It also describes what is needed to build “gmetad”. I thought it useful to publish this now.

Using Ganglia on AIX

This Version is tested on AIX 5.1, 5.2 and 5.3. AIX 4.3 might work as well,
but it’s not tested by now.


You still need some “tricks” to use ganglia on a AIX system:

1. The AIX-Version should not be compiled with shared libraries
You must add the “–disable-shared” and “–enable-static” configure
flags if you running on AIX

./configure –disable-shared –enable-static

2. You should use “gcc”. xlc does not work out of the box. If you only have
“xlc”, the following might work. Run configure first !!

a) remove “-Wall” from all Makefiles, especially:

gmetad/Makefile (see below)

This should be done automatically, but automake/autoconf experts are

b) to actually build the binaries do:

make CC=”cc -qlanglvl=extc99″

c) To build “gmetad”, the following is needed:
c1) install the following software, preferably from RPMs:

rrdtool-1.2.11.perl56-1 (cp /opt/freeware/include/rrd.h /usr/include/ )

c2) For Gmetad-3.0.3 or earlier: there is a conflict regarding the macro
“FRAMESIZE”. In “gmetad/*” change all occurences of “FRAMESIZE” to
“GMETAD_FRAMESIZE”. This will be fixed in version 3.0.4.

Known problems and Limitations

– Occasionally Ganglia might report wrong network statistics, because
there is no test for arithmetic overflow of the AIX counters by now.
(Will be fixed soon, but might not make it in ganglia-3.0.2)

– The following standard metrics are _not_ reported (reported as 0):
mem_buffers (-), mem_shared (-), part_max_used(+), cpu_sintr
(–), cpu_intr (–), cpu_aidle (+), cpu_nice (-)

(–) cpu_nice, cpu_intr and cpu_sintr:
There is no way to include this metric, because AIX
dose not know anything about them

(-) mem_buffers and mem_shared: libperfstat does not report
his information, but maybe somebody knows another way.

(+) part_max_used and cpu_aidle: it’s quite easy to do this
metrics as well using libperfstat, but no body has written
code so far.

No Comments