Monday, June 18, 2012

Install RRDTool on Red Hat Enterprise Linux

Q. I've downloaded RRDTool package called rrdtool-1.3.1.tar.gz. But ./configure command giving out lots of error messages. How do I install RRDTool on Red Hat Enterprise Linux 5.x - 64 bit version?

A. RRD is the Acronym for Round Robin Database. RRD is a system to store and display time-series data (i.e. network bandwidth, machine-room temperature, server load average). It stores the data in a very compact way that will not expand over time, and it presents useful graphs by processing the data to enforce a certain data density. It can be used either via simple wrapper scripts (from shell or Perl) or via frontends that poll network devices and put a friendly user interface on it.

Installing RRDTool on RHEL

In order to install RRDTool on Red Hat Enterprise Linux / CentOS Linux 64 bit version you need to install few development tools and libraries.

Step # 1: Install required dependencies

Login as root and type the following command:
# yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel
Sample output:
Loading "rhnplugin" plugin
Loading "security" plugin
rhel-x86_64-server-vt-5 100% |=========================| 1.4 kB 00:00
rhn-tools-rhel-x86_64-ser 100% |=========================| 1.2 kB 00:00
rhel-x86_64-server-5 100% |=========================| 1.4 kB 00:00
Setting up Install Process
Parsing package install arguments
Package libxml2-devel - 2.6.26-2.1.2.1.x86_64 is already installed.
Package libxml2-devel - 2.6.26-2.1.2.1.i386 is already installed.
Package pango - 1.14.9-3.el5.i386 is already installed.
Package pango - 1.14.9-3.el5.x86_64 is already installed.
Package freetype - 2.2.1-20.el5_2.i386 is already installed.
Package freetype - 2.2.1-20.el5_2.x86_64 is already installed.
Resolving Dependencies
--> Running transaction check
---> Package libart_lgpl-devel.x86_64 0:2.3.17-4 set to be updated
---> Package pango-devel.i386 0:1.14.9-3.el5 set to be updated
--> Processing Dependency: libXft-devel for package: pango-devel
--> Processing Dependency: libXrender-devel for package: pango-devel
--> Processing Dependency: libXext-devel for package: pango-devel
--> Processing Dependency: libX11-devel for package: pango-devel
--> Processing Dependency: fontconfig-devel >= 2.0 for package: pango-devel
---> Package pango-devel.x86_64 0:1.14.9-3.el5 set to be updated
---> Package freetype-devel.x86_64 0:2.2.1-20.el5_2 set to be updated
---> Package libpng-devel.i386 2:1.2.10-7.1.el5_0.1 set to be updated
---> Package cairo-devel.x86_64 0:1.2.4-5.el5 set to be updated
---> Package libpng-devel.x86_64 2:1.2.10-7.1.el5_0.1 set to be updated
---> Package cairo-devel.i386 0:1.2.4-5.el5 set to be updated
---> Package libart_lgpl-devel.i386 0:2.3.17-4 set to be updated
--> Processing Dependency: libart_lgpl_2.so.2 for package: libart_lgpl-devel
---> Package freetype-devel.i386 0:2.2.1-20.el5_2 set to be updated
--> Running transaction check
---> Package libXrender-devel.i386 0:0.9.1-3.1 set to be updated
--> Processing Dependency: xorg-x11-proto-devel for package: libXrender-devel
---> Package libXft-devel.i386 0:2.1.10-1.1 set to be updated
---> Package libX11-devel.i386 0:1.0.3-9.el5 set to be updated
--> Processing Dependency: libXdmcp-devel for package: libX11-devel
--> Processing Dependency: libXau-devel for package: libX11-devel
---> Package fontconfig-devel.i386 0:2.4.1-7.el5 set to be updated
---> Package libart_lgpl.i386 0:2.3.17-4 set to be updated
---> Package libXext-devel.i386 0:1.0.1-2.1 set to be updated
--> Running transaction check
---> Package xorg-x11-proto-devel.i386 0:7.1-9.fc6 set to be updated
--> Processing Dependency: mesa-libGL-devel for package: xorg-x11-proto-devel
---> Package libXdmcp-devel.i386 0:1.0.1-2.1 set to be updated
---> Package libXau-devel.i386 0:1.0.1-3.1 set to be updated
--> Running transaction check
---> Package mesa-libGL-devel.i386 0:6.5.1-7.5.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
libart_lgpl-devel x86_64 2.3.17-4 rhel-x86_64-server-5 21 k
libart_lgpl-devel i386 2.3.17-4 rhel-x86_64-server-5 21 k
pango-devel i386 1.14.9-3.el5 rhel-x86_64-server-5 280 k
pango-devel x86_64 1.14.9-3.el5 rhel-x86_64-server-5 281 k
Installing for dependencies:
cairo-devel x86_64 1.2.4-5.el5 rhel-x86_64-server-5 131 k
cairo-devel i386 1.2.4-5.el5 rhel-x86_64-server-5 130 k
fontconfig-devel i386 2.4.1-7.el5 rhel-x86_64-server-5 168 k
freetype-devel x86_64 2.2.1-20.el5_2 rhel-x86_64-server-5 151 k
freetype-devel i386 2.2.1-20.el5_2 rhel-x86_64-server-5 151 k
libX11-devel i386 1.0.3-9.el5 rhel-x86_64-server-5 665 k
libXau-devel i386 1.0.1-3.1 rhel-x86_64-server-5 11 k
libXdmcp-devel i386 1.0.1-2.1 rhel-x86_64-server-5 7.6 k
libXext-devel i386 1.0.1-2.1 rhel-x86_64-server-5 57 k
libXft-devel i386 2.1.10-1.1 rhel-x86_64-server-5 16 k
libXrender-devel i386 0.9.1-3.1 rhel-x86_64-server-5 8.9 k
libart_lgpl i386 2.3.17-4 rhel-x86_64-server-5 76 k
libpng-devel i386 2:1.2.10-7.1.el5_0.1 rhel-x86_64-server-5 182 k
libpng-devel x86_64 2:1.2.10-7.1.el5_0.1 rhel-x86_64-server-5 186 k
mesa-libGL-devel i386 6.5.1-7.5.el5 rhel-x86_64-server-5 465 k
xorg-x11-proto-devel i386 7.1-9.fc6 rhel-x86_64-server-5 247 k
Transaction Summary
=============================================================================
Install 20 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 3.2 M
Is this ok [y/N]:
Downloading Packages:
(1/20): libXext-devel-1.0 100% |=========================| 57 kB 00:00
(2/20): freetype-devel-2. 100% |=========================| 151 kB 00:00
(3/20): libXau-devel-1.0. 100% |=========================| 11 kB 00:00
(4/20): libart_lgpl-devel 100% |=========================| 21 kB 00:00
(5/20): libart_lgpl-2.3.1 100% |=========================| 76 kB 00:00
(6/20): cairo-devel-1.2.4 100% |=========================| 130 kB 00:00
(7/20): libpng-devel-1.2. 100% |=========================| 186 kB 00:00
(8/20): cairo-devel-1.2.4 100% |=========================| 131 kB 00:00
(9/20): fontconfig-devel- 100% |=========================| 168 kB 00:00
(10/20): mesa-libGL-devel 100% |=========================| 465 kB 00:01
(11/20): libXdmcp-devel-1 100% |=========================| 7.6 kB 00:00
(12/20): libpng-devel-1.2 100% |=========================| 182 kB 00:00
(13/20): libX11-devel-1.0 100% |=========================| 665 kB 00:02
(14/20): freetype-devel-2 100% |=========================| 151 kB 00:00
(15/20): libXft-devel-2.1 100% |=========================| 16 kB 00:00
(16/20): pango-devel-1.14 100% |=========================| 281 kB 00:01
(17/20): pango-devel-1.14 100% |=========================| 280 kB 00:01
(18/20): libXrender-devel 100% |=========================| 8.9 kB 00:00
(19/20): libart_lgpl-deve 100% |=========================| 21 kB 00:00
(20/20): xorg-x11-proto-d 100% |=========================| 247 kB 00:01
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: libart_lgpl ####################### [ 1/20]
Installing: freetype-devel ####################### [ 2/20]
Installing: fontconfig-devel ####################### [ 3/20]
Installing: libpng-devel ####################### [ 4/20]
Installing: libXau-devel ####################### [ 5/20]
Installing: libart_lgpl-devel ####################### [ 6/20]
Installing: libart_lgpl-devel ####################### [ 7/20]
Installing: libpng-devel ####################### [ 8/20]
Installing: freetype-devel ####################### [ 9/20]
Installing: xorg-x11-proto-devel ####################### [10/20]
Installing: libX11-devel ####################### [11/20]
Installing: libXrender-devel ####################### [12/20]
Installing: libXft-devel ####################### [13/20]
Installing: cairo-devel ####################### [14/20]
Installing: libXext-devel ####################### [15/20]
Installing: pango-devel ####################### [16/20]
Installing: pango-devel ####################### [17/20]
Installing: libXdmcp-devel ####################### [18/20]
Installing: mesa-libGL-devel ####################### [19/20]
Installing: cairo-devel ####################### [20/20]
Installed: libart_lgpl-devel.x86_64 0:2.3.17-4 libart_lgpl-devel.i386 0:2.3.17-4 pango-devel.i386 0:1.14.9-3.el5 pango-devel.x86_64 0:1.14.9-3.el5
Dependency Installed: cairo-devel.x86_64 0:1.2.4-5.el5 cairo-devel.i386 0:1.2.4-5.el5 fontconfig-devel.i386 0:2.4.1-7.el5 freetype-devel.x86_64 0:2.2.1-20.el5_2 freetype-devel.i386 0:2.2.1-20.el5_2 libX11-devel.i386 0:1.0.3-9.el5 libXau-devel.i386 0:1.0.1-3.1 libXdmcp-devel.i386 0:1.0.1-2.1 libXext-devel.i386 0:1.0.1-2.1 libXft-devel.i386 0:2.1.10-1.1 libXrender-devel.i386 0:0.9.1-3.1 libart_lgpl.i386 0:2.3.17-4 libpng-devel.i386 2:1.2.10-7.1.el5_0.1 libpng-devel.x86_64 2:1.2.10-7.1.el5_0.1 mesa-libGL-devel.i386 0:6.5.1-7.5.el5 xorg-x11-proto-devel.i386 0:7.1-9.fc6
Complete!

Step # 2: Download latest rrdtool tar ball

Type the following commands:
# cd /opt/
# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.1.tar.gz

Untar tar ball, enter:
# tar -zxvf rrdtool-1.3.1.tar.gz

Step #3: Compile and install rrdtool

You need to set PKG_CONFIG_PATH, enter:
# export PKG_CONFIG_PATH=/usr/lib/pkgconfig/
Type the following commands:
# ./configure
Sample output:
config.status: executing default-1 commands
config.status: executing intltool commands
config.status: executing default commands
config.status: executing po/stamp-it commands
checking in... and out again
ordering CD from http://tobi.oetiker.ch/wish .... just kidding ;-)
----------------------------------------------------------------
Config is DONE!
With MMAP IO: yes
Static programs: no
Perl Modules: perl_piped perl_shared
Perl Binary: /usr/bin/perl
Perl Version: 5.8.8
Perl Options: PREFIX=/usr/local/rrdtool-1.3.1 LIB=/usr/local/rrdtool-1.3.1/lib/perl/5.8.8
Ruby Modules:
Ruby Binary: no
Ruby Options: sitedir=$(DESTDIR)NONE/lib/ruby
Build Tcl Bindings: no
Build Python Bindings: yes
Build rrdcgi: yes
Build librrd MT: yes
Link with libintl: yes
Libraries: -lxml2 -lcairo -lcairo -lcairo -lm -lcairo -lpng12 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
Type 'make' to compile the software and use 'make install' to
install everything to: /usr/local/rrdtool-1.3.1.
... that wishlist is NO JOKE. If you find RRDtool useful
make me happy. Go to http://tobi.oetiker.ch/wish and
place an order.
-- Tobi Oetiker
----------------------------------------------------------------
Now compile and install RRDTool on RHEL:
# make
# make install
# cd /usr/local/
# ln -s rrdtool-1.3.1/ rrdtool/
# cd rrdtool
# ls -l

How do I verify my installation?

Now RRDtool is installed and ready to use. You can go to /usr/local/rrdtool/share/rrdtool/examples/ directory and run them to see if your installation has been successful or not:
# cd /usr/local/rrdtool/share/rrdtool/examples/
# ./stripes.pl
# ls -l
# cp stripes.png /var/www/html/

Fire a web browser and see a graph for yourself by typing the following url:
http://your-domain.com/stripes.png

(Fig.01: Sample RRDTool Graph)

Optional compile time settings

By default RRDTool will get installed at /usr/local/rrdtool-1.3.1/ directory. To change default installation directory use following command:
# ./configure --prefix=/usr/local/rrdtool
# make install

To see all compile configuration option enter:
# ./configure --help

No comments:

Post a Comment