Monday, 17 January 2011

Building Drizzle in RedHat Enterprise Linux 6 and derivatives

Over this weekend I have been playing with a test release of Scientific Linux 6 which is a binary-compatible rebuild of the source for RedHat Enterprise Linux 6 with a few additions, very similar to CentOS (CentOS 6 should be out in the next few weeks).  Specifically I have been testing Drizzle in it to see if we can compile it and that it will pass our regression suite.  The good news is 'yes' to both.  Here is how to do it.

First of all you need some pre-requisites installed.  Almost all are available from the operating system's repositories apart from one which I will come to in a minute.  You need to install the following packages using yum or any other package manager:

  • bzr

  • boost-devel

  • autoconf

  • automake

  • gcc

  • gcc-c++

  • libtool

  • gperf

  • libuuid-devel

  • zlib-devel

  • pcre-devel

  • readline-devel

  • flex

  • bison

Now, the key thing missing from the above list is Google's Protocol Buffers.  Unfortunately, unlike Fedora, this does not seem to be in the RedHat repositories so we need to roll our own.  To do this:

  1. Install the following packages using yum or any other package manager:

    • rpm-build

    • python-devel

    • python-setuptools

  2. Download the protobuf source package from here.

  3. Run the following (as root):
    rpmbuild --rebuild protobuf-2.2.0-3.el5.src.rpm

  4. Install the protobuf packages as follows (again as root):
    rpm -Uvh /root/rpmbuild/RPMS/x86_64/*

    or if you are using 32bit:
    rpm -Uvh /root/rpmbuild/RPMS/i686/*

You are now good to go.  You should be able to compile Drizzle in the normal way.

1 comment: