Graphite install for RHEL 5.7 from scratch.
Official Graphite documentation is at http://graphite.readthedocs.org/
export PATH=/usr/bin:/bin:/usr/sbin:/sbin mkdir -p /graphite/src cd /graphite/src # Download Python 2.7.x source from python.org # Unpackage cd Python-2.7.2 ./configure --prefix=/graphite make make install cd .. # Now make sure you get your python before RHEL's export PATH=/graphite/bin:$PATH # Download Django 1.x source from django.org # Unpackage cd Django-1.3 python setup.py install cd .. # Download django-tagging from http://code.google.com/p/django-tagging/ # Unpackage cd django-tagging-0.3.1 python setup.py install cd .. # Download Twisted 11.x source here from http://twistedmatrix.com/ # Unpackage cd Twisted-11.0.0 python setup.py install cd .. # Download setuptools from http://pypi.python.org/pypi/setuptools # Unpackage cd setuptools-0.6c11 python setup.py install cd .. # Download pip from http://pypi.python.org/pypi/pip # Unpackage cd pip-1.0.2 python setup.py install cd .. # Now you have to build the Cairo graphics library, as RHEL's # is too old for py2cairo's needs. # Start with pixman, a dependency for building cairo! # Download pixman from http://www.cairographics.org/releases/ # Unpackage cd pixman-0.22.2 ./configure --prefix=/graphite make make install # Download cairo from http://www.cairographics.org/releases/ # Unpackage cd cairo-1.10.2 # Make sure we find our shit and don't have runtime linker problems export LDFLAGS="-L/graphite/lib -Xlinker -rpath -Xlinker /graphite/lib" # PKG_CONFIG_PATH is set below so pixman is found export PKG_CONFIG_PATH=/graphite/lib/pkgconfig # Turn off all the X shit and gobject since RHEL glib2 is too old ./configure --prefix=/graphite --without-x --enable-xlib=no \ --enable-xlib-xrender=no --enable-xcb-shm=no --enable-qt=no \ --enable-gl=no --enable-gobject=no make make install # Download Pycairo (aka py2cairo) from http://www.cairographics.org/pycairo/ # Unpackage # Had to add these to LDFLAGS or ./waf configure bombs on Python.h test # due to not including them when it should be in its test export LDFLAGS="$LDFLAGS -lm -ldl -lutil" cd py2cairo-1.10.0 ./waf configure --prefix=/graphite ./waf build ./waf install cd .. # Download carbon, whisper, and graphite-web from # https://launchpad.net/graphite # Unpackage cd whisper-0.9.9 python setup.py install cd .. cd carbon-0.9.9 python setup.py install cd .. cd graphite-web-0.9.9 ./check-dependencies.py # Ignore WARNINGs as you see fit python setup.py install cd ..
You might be interested in these RPMs:Â https://github.com/dcarley/graphite-rpms
The only essential dependency on EL5 that isn’t fulfilled by the stock CentOS and EPEL repositories is python-twisted-core, which can be easily rebuilt from the EL6 sources.
Thanks for commenting here Dan. I may go that route. I saw in the dep list of the official Graphite documentation “Python 2.4 or higher (2.6 recommended)” and just bailed on what I figured was going to be an inevitably failed package-based install of all of the pieces. I may redo the effort using RHEL5’s Python 2.4 after we’ve played with it a bit, or maybe just finally get a RHEL6 image finalized for our environment.
Others reading this post + comments may also be interested in https://gist.github.com/889297