updated build instructions
[rrdtool.git] / doc / rrdbuild.pod
index f52076e..9ca238b 100644 (file)
@@ -35,12 +35,12 @@ Once you have decided. Save the two locations into environment variables.
 Depending on the shell you are using, you can do either (bash,zsh):
 
  BUILD_DIR=/tmp/rrdbuild
- INSTALL_DIR=/usr/local/rrdtool-1.2.16
+ INSTALL_DIR=/usr/local/rrdtool-1.2.99907080300
 
 Or if you run tcsh:
 
  set BUILD_DIR=/tmp/rrdbuild
- set INSTALL_DIR=/usr/local/rrdtool-1.2.16
+ set INSTALL_DIR=/usr/local/rrdtool-1.2.99907080300
 
 If your F</tmp> is mounted with the option noexec (RHEL seems todo that) you have to choose
 a different directory!
@@ -55,9 +55,9 @@ pre-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://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.16.tar.gz
- tar zxf rrdtool-1.2.16.tar.gz
- cd rrdtool-1.2.16
+ wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.99907080300.tar.gz
+ tar zxf rrdtool-1.2.99907080300.tar.gz
+ cd rrdtool-1.2.99907080300
  ./configure --prefix=$INSTALL_DIR && make && make install
 
 Ok, this was very optimistic. This try will probably have ended with
@@ -101,13 +101,24 @@ If you have an other compile you have to use the following settings:
 
 =over 
 
+Some libraries want to know where other libraries are. For this to work,
+set the following environamen variable
+
+ export PKG_CONFIG_PATH=${INSTALLDIR}/lib/pkgconfig
+or in tcsh
+
+ setenv PKG_CONFIG_PATH ${INSTALLDIR}/lib/pkgconfig
+
 =item Building zlib
 
+Chances are very high that you already have that on your system ... 
+
  cd $BUILD_DIR
  wget http://oss.oetiker.ch/rrdtool/pub/libs/zlib-1.2.3.tar.gz
  tar  zxf zlib-1.2.3.tar.gz
  cd zlib-1.2.3
- env CFLAGS="-O3 -fPIC" ./configure --prefix=$BUILD_DIR/lb
+ env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR
  make
  make install
 
@@ -119,22 +130,21 @@ 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.
 
  cd $BUILD_DIR
- wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.10.tar.gz
- tar zxvf libpng-1.2.10.tar.gz
+ wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.18.tar.gz
+ tar zxvf libpng-1.2.18.tar.gz
  cd libpng-1.2.10
- env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
-     ./configure --disable-shared --prefix=$BUILD_DIR/lb
+ env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR
  make
  make install
 
 =item Building freetype
 
  cd $BUILD_DIR
- wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype-2.1.10.tar.bz2
- tar jxvf freetype-2.1.10.tar.bz2
- cd freetype-2.1.10
- env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
-     ./configure --disable-shared --prefix=$BUILD_DIR/lb
+ wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype-2.3.5.tar.gz
+ tar zxvf freetype-2.3.5.tar.gz
+ cd freetype-2.3.5
+ env CFLAGS="-O3 -fPIC" \
+     ./configure --prefix=$INSTALL_DIR
  make
  make install
 
@@ -143,40 +153,70 @@ add the following at the end of the configure line:
 
  GNUMAKE=gmake EGREP=egrep
 
-=item Building libart_lgpl
+=item Building fontconfig
+
+Note that fontconfig has a runtime configuration file in INSTALL_DIR/etc you
+may want to adjust that so that fontconfig finds the fonts on your system.
+Run the fc-cache program to build the fontconfig cache after changeing the
+config file.
 
  cd $BUILD_DIR
- wget http://oss.oetiker.ch/rrdtool/pub/libs/libart_lgpl-2.3.17.tar.gz
- tar zxvf libart_lgpl-2.3.17.tar.gz
- cd libart_lgpl-2.3.17
- env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
+ wget http://oss.oetiker.ch/rrdtool/pub/libs/fontconfig-2.4.2.tar.gz
+ tar zxvf fontconfig-2.4.2.tar.gz  
+ cd fontconfig-2.4.2
+ env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR
  make
  make install
 
-=back
+=item Building Cairo
+
+ cd $BUILD_DIR
+ wget http://oss.oetiker.ch/rrdtool/pub/libs/cairo-1.4.10.tar.gz
+ tar zxvf cairo-1.4.10.tar.gz  
+ cd cairo-1.4.10
+ env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR \
+    --enable-xlib=no \
+    --enable-xlib-render=no \
+    --enable-win32=no
+ make
+ make install
 
-Now all the dependent libraries are built and you can try again. Since these
-are static libraries, you may have to use F<ranlib> to make them accessible.
-Especially BSD systems like Mac OS X may require this, Linux and Solaris
-will do just fine without since their F<ar> command does ranlibs job as well.
+=item Building Glib
 
- ranlib $BUILD_DIR/lb/lib/*.a
+ cd $BUILD_DIR
+ wget http://oss.oetiker.ch/rrdtool/pub/libs/glib-2.12.13.tar.gz
+ tar zxvf glib-2.12.13.tar.gz 
+ cd glib-2.12.13
+ env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR
+ make
+ make install
+
+=item Building Pango
+
+ cd $BUILD_DIR
+ wget http://oss.oetiker.ch/rrdtool/pub/libs/pango-1.17.5.tar.gz
+ tar zxvf pango-1.17.5.tar.gz 
+ cd pango-1.17.5
+ env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR
+ make
+ make install
+
+=back
 
-This time you tell configure where it should be looking for libraries and
-include files. This is done via environment variables. Depending on the
-shell you are running, the syntax for setting environment variables is
-different. Under csh/tcsh you use:
+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 shell you
+are running, the syntax for setting environment variables is different.
+Under csh/tcsh you use:
 
- set IR=-I$BUILD_DIR/lb/include
- setenv CPPFLAGS "$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
- setenv LDFLAGS  -L$BUILD_DIR/lb/lib
+ setenv CPPFLAGS -I$INSTALL_DIR/include
+ setenv LDFLAGS "-L$INSTALL_DIR/lib -R$INSTALL_DIR/lib"
  setenv CFLAGS -O3
 
 If you are running bash/sh/ash/ksh/zsh use this:
 
- IR=-I$BUILD_DIR/lb/include
- CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
- LDFLAGS="-L$BUILD_DIR/lb/lib"
+ CPPFLAGS=-I$INSTALL_DIR/include
+ LDFLAGS="-R$INSTALL_DIR/lib -L$INSTALL_DIR/lib"
  CFLAGS=-O3
  export CPPFLAGS LDFLAGS CFLAGS
 
@@ -185,19 +225,19 @@ because it seems that a fair number of people have ill configured python and
 tcl setups that would prevent rrdtool from building if they are included in
 their current state.
 
- cd $BUILD_DIR/rrdtool-1.2.16
- ./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
+ cd $BUILD_DIR/rrdtool-1.2.99907080300
+ ./configure --prefix=$INSTALL_DIR --disable-tcl --disable-python
  make clean
  make
  make install
 
 SOLARIS HINT: if you want to build  the perl module for the native perl (the
-one shipping with solaris) you will need the sun forte compiler
-installed on your box or you have to hand-tune bindings/perl-shared/Makefile
-while building!
+one shipping with solaris) you will need the sun forte compiler installed on
+your box or you have to hand-tune bindings/perl-shared/Makefile while
+building!
 
-Now go to I<$INSTALL_DIR>B</share/rrdtool/examples/> and run them to see if your
-build has been successful.
+Now go to I<$INSTALL_DIR>B</share/rrdtool/examples/> and run them to see if
+your build has been successful.
 
 =head1 AUTHOR