From 2e23f7bfad1064476131be7d062dcef37b7f2a5e Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Fri, 8 May 2009 17:13:00 +0200 Subject: [PATCH] README: Document how to build the Java plugin. --- README | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/README b/README index 755704d9..a1bf5ff2 100644 --- a/README +++ b/README @@ -104,6 +104,10 @@ Features - irq IRQ counters: Frequency in which certain interrupts occur. + - java + Integrates a `Java Virtual Machine' (JVM) to execute plugins in Java + bytecode. See “Configuring with libjvm” below. + - load System load average over the last 1, 5 and 15 minutes. @@ -436,6 +440,11 @@ Prerequisites For querying iptables counters. + * libjvm (optional) + Library that encapsulates the `Java Virtual Machine' (JVM). This library is + used by the Java plugin to execute Java bytecode. See “Configuring with + libjvm” below. + * libmysqlclient (optional) Unsurprisingly used by the `mysql' plugin. @@ -534,6 +543,42 @@ Configuring / Compiling / Installing prefixed to all installation directories. This might be useful when creating packages for collectd. +Configuring with libjvm +----------------------- + + To determine the location of the required files of a Java installation is not + an easy task, because the locations vary with your kernel (Linux, SunOS, …) + and with your architecture (x86, SPARC, …) and there is no ‘java-config’ + script we could use. Configuration of the JVM library is therefore a bit + tricky. + + The easiest way to use the `--with-java=$JAVA_HOME' option, where + `$JAVA_HOME' is usually something like: + /usr/lib/jvm/java-1.5.0-sun-1.5.0.14 + + The configure script will then use find(1) to look for the following files: + + - jni.h + - jni_md.h + - libjvm.so + + If found, appropriate CPP-flags and LD-flags are set and the following + library checks succeed. + + If this doesn't work for you, you have the possibility to specify CPP-flags, + C-flags and LD-flags for the ‘Java’ plugin by hand, using the following three + (environment) variables: + + - JAVA_CPPFLAGS + - JAVA_CFLAGS + - JAVA_LDFLAGS + + For example (shortened for demonstration purposes): + + ./configure JAVA_CPPFLAGS="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux" + + Adding "-ljvm" to the JAVA_LDFLAGS is done automatically, you don't have to + do that. Crosscompiling -------------- -- 2.30.2