From 22018fce4f2faa4e43d85f419ea48a7d6465d5f3 Mon Sep 17 00:00:00 2001 From: oetiker Date: Sat, 7 May 2005 15:23:41 +0000 Subject: [PATCH] added build instructions git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2/program@499 a5681a0c-68f1-0310-ab6d-d61299d08faa --- doc/Makefile.am | 2 +- doc/rrdbuild.pod | 128 +++++++++++++++++++++++++++++++++++++++++++++++++ doc/rrdgraph_graph.pod | 4 +- 3 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 doc/rrdbuild.pod diff --git a/doc/Makefile.am b/doc/Makefile.am index e392cfc..dc432ac 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -11,7 +11,7 @@ CLEANFILES = *.1 *.html *.txt *-dircache RRD?.pod *.pdf *~ core *itemcache *.rej POD = bin_dec_hex.pod rrddump.pod rrdgraph_examples.pod rrdrestore.pod rrdupdate.pod \ cdeftutorial.pod rrdfetch.pod rrdgraph_graph.pod rrdthreads.pod rrdxport.pod \ rpntutorial.pod rrdfirst.pod rrdgraph_rpn.pod rrdtool.pod \ - rrd-beginners.pod rrdinfo.pod rrdtune.pod \ + rrd-beginners.pod rrdinfo.pod rrdtune.pod rrdbuild.pod \ rrdcgi.pod rrdgraph.pod rrdlast.pod \ rrdcreate.pod rrdgraph_data.pod rrdresize.pod rrdtutorial.pod diff --git a/doc/rrdbuild.pod b/doc/rrdbuild.pod new file mode 100644 index 0000000..82f03fd --- /dev/null +++ b/doc/rrdbuild.pod @@ -0,0 +1,128 @@ +=head1 NAME + +rrdbuild - Instructions for building RRDtool + +=head1 DESCRIPTION + +=head2 Overview + +If you downloaded the source of rrdtool you have to compile it. This +document will give some information on how this is done. + +RRDtool relies on services of thrid part libraries. Some of these libraries +may already be installed on your system. You have to compile copies of the other +ones before you can build RRDtool. + +This document will tell you about all the necessary steps to get going. + +=head2 Building + +Lets first assume you already have all the necessary libraries +per-installed. Note that these instructions assume that your copies of +B and B are actually B and B respectively. It +could be that they are installed as B and B on your system. + + wget http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/rrdtool-1.2.1.tar.gz + tar zxf rrdtool-1.2.1.tar.gz + cd rrdtool-1.2.1 + ./configure --prefix=/path/to/installation && make && make install + +Ok, this was very optimistic. This try will probably have ended with +B complaining about several missing libraries. If you are on a +Linux or *bsd system you may want to just install the missing bits from your +software repository. When you do that, make sure you also get the B<-dev> +package for each library you install. Once you have the missing bits on +board, just re-run the last line of the instructions above. + +But again this may have been too optimistic, and you actually have to +compile your own copies of the required libraries. Here is how: + +=over + +=item Building cgilib + + wget http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/cgilib-0.5.tar.gz + tar zxf cgilib-0.5.tar.gz + cd cgilib-0.5 + make CC=gcc CFLAGS="-O3 -fPIC -I." + mkdir -p ../lb/include + cp *.h ../lb/include + mkdir -p ../lb/lib + cp libcgi* ../lb/lib + cd .. + +=item Building zlib + + wget http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/zlib-1.2.2.tar.gz + tar zxf zlib-1.2.2.tar.gz + cd zlib-1.2.2 + env CFLAGS="-O3 -fPIC" ./configure --prefix=`pwd`/../lb + make + make install + cd .. + +=item Building libpng + +Libpng itself requires zlib to build, so we need to help a bit. If you +already have a copy of zlib on your system (which is very likley) you can +drop the settings of LDFLAGS and CPPFLAGS. Note that the backslash (\) at +the end of line 4 means that line 4 and line 5 are on one line. + + wget http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/libpng-1.2.8-config.tar.gz + tar zxvf libpng-1.2.8-config.tar.gz + cd libpng-1.2.8-config + env CPPFLAGS="-I../lb/include" LDFLAGS="-L../lb/lib" CFLAGS="-O3 -fPIC" \ + ./configure --disable-shared --prefix=`pwd`/../lb + make + make install + cd .. + +=item Building freetype + + wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/freetype-2.1.9.tar.gz + tar zxvf freetype-2.1.9.tar.gz + cd freetype-2.1.9 + env CPPFLAGS="-I../lb/include" LDFLAGS="-L../lb/lib" CFLAGS="-O3 -fPIC" \ + ./configure --disable-shared --prefix=`pwd`/../lb + make install + cd .. + +=item Building libart_lgpl + + wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/libart_lgpl-2.3.17.tar.gz + cd libart_lgpl-2.3.17 + env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=`pwd`/../lb + make install + cd .. + +=back + +Now all the dependent libraries are built and you can try again. This time +you tell configure where it should be looking for libraries and include +files. This is done via environment variables. Depending on the shellyou are running, the syntax for setting +environment variables is different. Under csh/tcsh you use: + + set IR=-I`pwd`/lb/include + setenv CPPFLAGS "$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng" + setenv LDFLAGS -L`pwd`/lb/lib + setenv CFLAGS -O3 + +If you are running bash/sh/ash/ksh/zsh use this: + + IR=-I`pwd`/lb/include + CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng" + LDFLAGS="-L`pwd`/lb/lib" + CFLAGS=-O3 + export CPPFLAGS LDFLAGS CFLAGS + +And finally try building again: + + ./configure --prefix=/path/to/installation && make && make install + +Now go to IB and run them to see if your +build has been successful. + +=head1 AUTHOR + +Tobias Oetiker Eoetiker@ee.ethz.chE + diff --git a/doc/rrdgraph_graph.pod b/doc/rrdgraph_graph.pod index 7ceac61..2cc6806 100644 --- a/doc/rrdgraph_graph.pod +++ b/doc/rrdgraph_graph.pod @@ -24,7 +24,9 @@ BB<:>IB<:>I =cut -BB<:>IB<#>I[I][B<:>I] +# +#BB<:>IB<#>I[I][B<:>I] +# =pod -- 2.11.0