diff --git a/doc/rrdbuild.txt b/doc/rrdbuild.txt
index f3f08466e2a3a54ffdfbe4a0f097b87cadaa9aed..18e2696b08bf35b490ec33f404b0d18c43daa0dd 100644 (file)
--- a/doc/rrdbuild.txt
+++ b/doc/rrdbuild.txt
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!
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!
-1.3rc9 2008-06-08 RRDBUILD(1)
+1.3.7 2009-04-07 RRDBUILD(1)