Code

added build instructions
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sat, 7 May 2005 15:23:41 +0000 (15:23 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sat, 7 May 2005 15:23:41 +0000 (15:23 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2/program@499 a5681a0c-68f1-0310-ab6d-d61299d08faa

doc/Makefile.am
doc/rrdbuild.pod [new file with mode: 0644]
doc/rrdgraph_graph.pod

index e392cfc09357b1c1ae999ea4d49efd04b5bd2682..dc432ac63ecc9b8e660fef7bfc1ce19bd113c36f 100644 (file)
@@ -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 (file)
index 0000000..82f03fd
--- /dev/null
@@ -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<tar> and B<make> are actually B<GNU tar> and B<GNU make> respectively. It
+could be that they are installed as B<gtar> and B<gmake> 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<configure> 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 I</path/to/installation>B</examples> and run them to see if your
+build has been successful.
+
+=head1 AUTHOR
+
+Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
+
index 7ceac617e13a678a1d6e7057a378078e2a8994d0..2cc680686265348e28d022cc339d0145f735a2f2 100644 (file)
@@ -24,7 +24,9 @@ B<SHIFT>B<:>I<vname>B<:>I<offset>
 
 =cut
 
-B<PART>B<:>I<vname>B<#>I<rrggbb>[I<aa>][B<:>I<legend>]
+#
+#B<PART>B<:>I<vname>B<#>I<rrggbb>[I<aa>][B<:>I<legend>]
+#
 
 =pod