Code

Imported upstream version 1.3.7.
[pkg-rrdtool.git] / doc / rrdbuild.txt
index f3f08466e2a3a54ffdfbe4a0f097b87cadaa9aed..18e2696b08bf35b490ec33f404b0d18c43daa0dd 100644 (file)
@@ -35,7 +35,7 @@ O\bOP\bPT\bTI\bIM\bMI\bIS\bST\bTI\bIC\bC B\bBU\bUI\bIL\bLD\bD
        ables.
 
         BUILD_DIR=/tmp/rrdbuild
-        INSTALL_DIR=/usr/local/rrdtool-1.3rc9
+        INSTALL_DIR=/usr/local/rrdtool-1.3.7
 
        If your _\b/_\bt_\bm_\bp is mounted with the option noexec (RHEL seems todo that)
        you have to choose a different directory!
@@ -48,9 +48,9 @@ O\bOP\bPT\bTI\bIM\bMI\bIS\bST\bTI\bIC\bC B\bBU\bUI\bIL\bLD\bD
        Lets first assume you already have all the necessary libraries
        pre-installed.
 
-        wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3rc9.tar.gz
-        gunzip -c rrdtool-1.3rc9.tar.gz | tar xf -
-        cd rrdtool-1.3rc9
+        wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.7.tar.gz
+        gunzip -c rrdtool-1.3.7.tar.gz | tar xf -
+        cd rrdtool-1.3.7
         ./configure --prefix=$INSTALL_DIR && make && make install
 
        Ok, this was very optimistic. This try will probably have ended with
@@ -63,7 +63,9 @@ I\bIN\bNS\bST\bTA\bAL\bLL\bLI\bIN\bNG\bG D\bDE\bEP\bPE\bEN\bND\bDE\bEN\bNC\bCI\bIE\bES\bS
        Below you find some hints on getting your OS ready for the rrdtool com-
        pilation.
 
-       Additions to this list are welcome.
+       Additions to this list are welcome. In general rrdtool should work with
+       the latest versions of the libraries. The versions listed here are just
+       what was current when I tested this.
 
        O\bOp\bpe\ben\bnS\bSo\bol\bla\bar\bri\bis\bs 2\b20\b00\b08\b8.\b.0\b05\b5
 
@@ -72,13 +74,24 @@ I\bIN\bNS\bST\bTA\bAL\bLL\bLI\bIN\bNG\bG D\bDE\bEP\bPE\bEN\bND\bDE\bEN\bNC\bCI\bIE\bES\bS
         pkg install sunstudioexpress
         pkg install SUNWgnome-common-devel
 
-       There is a problem with _\bc_\ba_\bi_\br_\bo_\b._\bp_\bc on opensolaris. It suggests that xren-
+       There is a problem with _\bc_\ba_\bi_\br_\bo_\b._\bp_\bc on OpenSolaris. It suggests that xren-
        der is required for compilation with cairo. This is not true and also
-       bad since opensolaris does not include an _\bx_\br_\be_\bn_\bd_\be_\br_\b._\bp_\bc file. Use perl to
+       bad since OpenSolaris does not include an _\bx_\br_\be_\bn_\bd_\be_\br_\b._\bp_\bc file. Use Perl to
        fix this:
 
         perl -i~ -p -e 's/(Requires.*?)\s*xrender.*/$1/' /usr/lib/pkgconfig/cairo.pc
 
+       Make sure rrdtool finds your new compiler
+
+        export PATH=/opt/SunStudioExpress/bin
+
+       Since there does not seem to be a viable msgfmt tool on OpenSolaris
+       (short of installing it yourself). You have to call configure with the
+
+        --disable-libintl
+
+       option.
+
        D\bDe\beb\bbi\bia\ban\bn /\b/ U\bUb\bbu\bun\bnt\btu\bu
 
        Use apt-get to make sure you have all that is required. A number of
@@ -119,10 +132,10 @@ B\bBU\bUI\bIL\bLD\bDI\bIN\bNG\bG D\bDE\bEP\bPE\bEN\bND\bDE\bEN\bNC\bCI\bIE\bES\bS
        don't live up to our expectations, so you may want to compile their
        latest versions.
 
-       _\bB_\bu_\bi_\bl_\bd _\bT_\bi_\bp_\bs _\bf_\bo_\br _\bA_\bI_\bX
+       G\bGe\ben\bne\ber\bra\bal\bl b\bbu\bui\bil\bld\bd t\bti\bip\bps\bs f\bfo\bor\br A\bAI\bIX\bX
 
-       If you are working with AIX, you may find the the -\b--\b-d\bdi\bis\bsa\bab\bbl\ble\be-\b-s\bsh\bha\bar\bre\bed\bd
-       option will cause things to break for you. In that case you may have to
+       If you are working with AIX, you may find the -\b--\b-d\bdi\bis\bsa\bab\bbl\ble\be-\b-s\bsh\bha\bar\bre\bed\bd option
+       will cause things to break for you. In that case you may have to
        install the shared libraries into the rrdtool PREFIX and work with
        -\b--\b-d\bdi\bis\bsa\bab\bbl\ble\be-\b-s\bst\bta\bat\bti\bic\bc instead.
 
@@ -134,164 +147,178 @@ B\bBU\bUI\bIL\bLD\bDI\bIN\bNG\bG D\bDE\bEP\bPE\bEN\bND\bDE\bEN\bNC\bCI\bIE\bES\bS
 
        (Better instructions for AIX welcome!)
 
-       B\bBu\bui\bil\bld\bdi\bin\bng\bg L\bLi\bib\bbr\bra\bar\bri\bie\bes\bs
+       B\bBu\bui\bil\bld\bd I\bIn\bns\bst\btr\bru\buc\bct\bti\bio\bon\bns\bs
+
+       Some libraries want to know where other libraries are. For this to
+       work, set the following environment variable
+
+        export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig
+        export PATH=$INSTALL_DIR/bin:$PATH
+
+       The above relies on the presence of the _\bp_\bk_\bg_\bc_\bo_\bn_\bf_\bi_\bg program. Below you
+       find instructions on how to compile pkgconfig.
+
+       Since we are compiling libraries dynamically, they must know where to
+       find each other. This is done by setting an appropriate LDFLAGS. Unfor-
+       tunately, the syntax again differs from system to system:
+
+       Solaris
+            export LDFLAGS=-R${INSTALL_DIR}/lib
+
+           if you are using the Sun Studio/Forte compiler, you may also want
+           to set
+
+            export CFLAGS="-xO3 -xcode=pic13"   (SPARC)
+            export CFLAGS="-xO3 -Kpic"          (x86)
+
+       Linux
+            export CFLAGS="-O3 -fPIC"
+            export LDFLAGS="-Wl,--rpath -Wl,${INSTALL_DIR}/lib"
+
+       HPUX
+            export LDFLAGS="+b${INSTALL_DIR}/lib"
+
+       AIX
+            export LDFLAGS="-Wl,-blibpath:${INSTALL_DIR}/lib"
+
+       If you have GNU make installed and it is not called 'make', then do
+
+        export MAKE=gmake
+        export GNUMAKE=gmake
+
+       otherwise just do
+
+        export MAKE=make
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bp_\bk_\bg_\bc_\bo_\bn_\bf_\bi_\bg
+
+       As mentioned above, without pkgconfig the whole build process will be
+       lots of pain and suffering, so make sure you have a copy on your sys-
+       tem. If it is not available natively, here is how to compile it.
+
+        wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz
+        gunzip -c pkg-config-0.23.tar.gz | tar xf -
+        cd pkg-config-0.23
+        ./configure --prefix=$INSTALL_DIR
+        $MAKE
+        $MAKE install
+
+       After installing pkgconfig in a custom directory, setting up the corre-
+       sponding environment variable will be helpful.
+
+        export PKG_CONFIG=$INSTALL_DIR/bin/pkg-config
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bz_\bl_\bi_\bb
+
+       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
+        gunzip -c zlib-1.2.3.tar.gz | tar xf -
+        cd zlib-1.2.3
+        ./configure --prefix=$INSTALL_DIR --shared
+        $MAKE
+        $MAKE install
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bl_\bi_\bb_\bp_\bn_\bg
+
+       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 likely) 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.
+
+        cd $BUILD_DIR
+        wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.18.tar.gz
+        gunzip -c libpng-1.2.18.tar.gz | tar xf -
+        cd libpng-1.2.18
+        ./configure --prefix=$INSTALL_DIR
+        $MAKE
+        $MAKE install
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bf_\br_\be_\be_\bt_\by_\bp_\be
+
+        cd $BUILD_DIR
+        wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype-2.3.5.tar.gz
+        gunzip -c freetype-2.3.5.tar.gz | tar xf -
+        cd freetype-2.3.5
+        ./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
+        $MAKE
+        $MAKE install
+
+       If you run into problems building freetype on Solaris, you may want to
+       try to add the following at the start the configure line:
+
+        env EGREP=egrep
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bL_\bi_\bb_\bX_\bM_\bL_\b2
+
+        cd $BUILD_DIR
+        wget http://oss.oetiker.ch/rrdtool/pub/libs/libxml2-2.6.32.tar.gz
+        gunzip -c libxml2-2.6.32.tar.gz | tar xf -
+        cd libxml2-2.6.32
+        ./configure --prefix=$INSTALL_DIR
+        $MAKE
+        $MAKE install
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bf_\bo_\bn_\bt_\bc_\bo_\bn_\bf_\bi_\bg
+
+       Note that fontconfig has a run time 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 font-
+       config cache after changing the config file.
+
+        cd $BUILD_DIR
+        wget http://oss.oetiker.ch/rrdtool/pub/libs/fontconfig-2.4.2.tar.gz
+        gunzip -c fontconfig-2.4.2.tar.gz   | tar xf -
+        cd fontconfig-2.4.2
+        ./configure --prefix=$INSTALL_DIR --with-freetype-config=$INSTALL_DIR/bin/freetype-config
+        $MAKE
+        $MAKE install
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bP_\bi_\bx_\bm_\ba_\bn
+
+        cd $BUILD_DIR
+        wget http://oss.oetiker.ch/rrdtool/pub/libs/pixman-0.10.0.tar.gz
+        gunzip -c pixman-0.10.0.tar.gz  | tar xf -
+        cd pixman-0.10.0
+        ./configure --prefix=$INSTALL_DIR
+        $MAKE
+        $MAKE install
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bC_\ba_\bi_\br_\bo
+
+        cd $BUILD_DIR
+        wget http://oss.oetiker.ch/rrdtool/pub/libs/cairo-1.6.4.tar.gz
+        gunzip -c cairo-1.6.4.tar.gz   | tar xf -
+        cd cairo-1.6.4
+        ./configure --prefix=$INSTALL_DIR \
+           --enable-xlib=no \
+           --enable-xlib-render=no \
+           --enable-win32=no
+        $MAKE
+        $MAKE install
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bG_\bl_\bi_\bb
+
+        cd $BUILD_DIR
+        wget http://oss.oetiker.ch/rrdtool/pub/libs/glib-2.15.4.tar.gz
+        gunzip -c glib-2.15.4.tar.gz  | tar xf -
+        cd glib-2.15.4
+        ./configure --prefix=$INSTALL_DIR
+        $MAKE
+        $MAKE install
+
+       _\bB_\bu_\bi_\bl_\bd_\bi_\bn_\bg _\bP_\ba_\bn_\bg_\bo
+
+        cd $BUILD_DIR
+        wget http://oss.oetiker.ch/rrdtool/pub/libs/pango-1.21.1.tar.bz2
+        bunzip2 -c pango-1.21.1.tar.bz2 | tar xf -
+        cd pango-1.21.1
+        ./configure --prefix=$INSTALL_DIR --without-x
+        $MAKE
+        $MAKE install
 
-       In order to build the libraries you need a compiler on your system.
-       Unfortunately compilers are not all alike. This has an effect on the
-       CFLAGS you want to set. The examples below are for the popular GCC com-
-       piler suite.  If you have an other compilers here are some ides:
-
-       Sun Forte
-            CFLAGS="-xO3 -kPIC"
-
-           Some libraries want to know where other libraries are. For this to
-           work, set the following environment variable
-
-            export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig
-            export PATH=$INSTALL_DIR/bin:$PATH
-
-           This relies on the presence of the _\bp_\bk_\bg_\bc_\bo_\bn_\bf_\bi_\bg program. Below you
-           find instructions on how to compile pkgconfig as well.
-
-           Since we are compiling libraries dynamically, they must know where
-           to find each other. This is done by setting an appropriate LDFLAGS.
-           Unfortunately, the syntax again differs from system to system:
-
-           Solaris
-                export LDFLAGS=-R${INSTALL_DIR}/lib
-
-           Linux
-                export LDFLAGS="-Wl,--rpath -Wl,${INSTALL_DIR}/lib"
-
-           HPUX
-                export LDFLAGS="+b${INSTALL_DIR}/lib"
-
-           AIX
-                export LDFLAGS="-Wl,-blibpath:${INSTALL_DIR}/lib"
-
-           If you have GNUmake installed and it is not called 'make', then do
-
-            export MAKE=gmake
-            export GNUMAKE=gmake
-
-           otherwise just do
-
-            export MAKE=make
-
-       Building pkgconfig
-           As mentioned above, without pkgconfig the whole build process will
-           be lots of pain and suffering, so make sure you have a copy on your
-           system. If it is not available natively, here is how to compile it.
-
-            wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz
-            gunzip -c pkg-config-0.23.tar.gz | tar xf -
-            cd pkg-config-0.23
-            ./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
-            $MAKE
-            $MAKE install
-
-       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
-            gunzip -c zlib-1.2.3.tar.gz | tar xf -
-            cd zlib-1.2.3
-            ./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC" --shared
-            $MAKE
-            $MAKE install
-
-       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
-           likely) 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.
-
-            cd $BUILD_DIR
-            wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.18.tar.gz
-            gunzip -c libpng-1.2.18.tar.gz | tar xf -
-            cd libpng-1.2.10
-            env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR
-            $MAKE
-            $MAKE install
-
-       Building freetype
-            cd $BUILD_DIR
-            wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype-2.3.5.tar.gz
-            gunzip -c freetype-2.3.5.tar.gz | tar xf -
-            cd freetype-2.3.5
-            ./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
-            $MAKE
-            $MAKE install
-
-           If you run into problems building freetype on Solaris, you may want
-           to try to add the following at the start the configure line:
-
-            env EGREP=egrep
-
-       Building LibXML2
-            cd $BUILD_DIR
-            wget http://oss.oetiker.ch/rrdtool/pub/libs/libxml2-sources-2.6.31.tar.gz
-            gunzip -c libxml2-sources-2.6.32.tar.gz | tar xf -
-            cd libxml2-sources-2.6.32
-            ./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
-            $MAKE
-            $MAKE install
-
-       Building fontconfig
-           Note that fontconfig has a run time 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 changing the config file.
-
-            cd $BUILD_DIR
-            wget http://oss.oetiker.ch/rrdtool/pub/libs/fontconfig-2.4.2.tar.gz
-            gunzip -c fontconfig-2.4.2.tar.gz   | tar xf -
-            cd fontconfig-2.4.2
-            ./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
-            $MAKE
-            $MAKE install
-
-       Building Pixman
-            cd $BUILD_DIR
-            wget http://oss.oetiker.ch/rrdtool/pub/libs/pixman-0.10.0.tar.gz
-            gunzip -c pixman-0.10.0.tar.gz  | tar xf -
-            cd pixman-0.10.0
-            ./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
-            $MAKE
-            $MAKE install
-
-       Building Cairo
-            cd $BUILD_DIR
-            wget http://oss.oetiker.ch/rrdtool/pub/libs/cairo-1.6.4.tar.gz
-            gunzip -c cairo-1.4.10.tar.gz   | tar xf -
-            cd cairo-1.4.10
-            ./configure --prefix=$INSTALL_DIR \
-               --enable-xlib=no \
-               --enable-xlib-render=no \
-               --enable-win32=no \
-               CFLAGS="-O3 -fPIC"
-            $MAKE
-            $MAKE install
-
-       Building Glib
-            cd $BUILD_DIR
-            wget http://oss.oetiker.ch/rrdtool/pub/libs/glib-2.15.4.tar.gz
-            gunzip -c glib-2.12.13.tar.gz  | tar xf -
-            cd glib-2.12.13
-            ./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC"
-            $MAKE
-            $MAKE install
-
-       Building Pango
-            cd $BUILD_DIR
-            wget http://oss.oetiker.ch/rrdtool/pub/libs/pango-1.21.1.tar.gz
-            gunzip -c pango-1.21.1.tar.gz  | tar xf -
-            cd pango-1.21.1
-            ./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC" --without-x
-            $MAKE
-            $MAKE install
+       B\bBu\bui\bil\bld\bdi\bin\bng\bg r\brr\brd\bdt\bto\boo\bol\bl (\b(s\bse\bec\bco\bon\bnd\bd t\btr\bry\by)\b)
 
        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
@@ -304,14 +331,14 @@ B\bBU\bUI\bIL\bLD\bDI\bIN\bNG\bG D\bDE\bEP\bPE\bEN\bND\bDE\bEN\bNC\bCI\bIE\bES\bS
        python and tcl setups that would prevent rrdtool from building if they
        are included in their current state.
 
-        cd $BUILD_DIR/rrdtool-1.3rc9
+        cd $BUILD_DIR/rrdtool-1.3.7
         ./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
+       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 bind-
        ings/perl-shared/Makefile while building!
 
@@ -323,4 +350,4 @@ A\bAU\bUT\bTH\bHO\bOR\bR
 
 
 
-1.3rc9                            2008-06-08                       RRDBUILD(1)
+1.3.7                             2009-04-07                       RRDBUILD(1)