Hash: SHA256

Because there’s no such RPM package available now

After 12 years and 5 months, the ISC team announced this week the release of Bind10 1.0.0. If you’re craving to test it, and if you’re familiar using with usng CentOS, here’s the easy way to install it from source.

What’s up with the versioning ?

You must be like me at start wondering why is the versioning starting at 1.0.0 and not 10.0.0. That’s because they started over a new development cycle for this software and it is completely different from its ancestors. It now even includes (or will soon) a DHCP server ! So, as it’s a brand new product, it’s legit for them to start over the numerotation again.

Installing known dependencies

Before we start with the big deal, let’s install the known required packages (I have EPEL repo set up on my machine, so should you.) :

yum install git gcc-c++ bc make automake libtool boost boost-devel sqlite-devel botan-devel

Installing Python 3.x

To be built, Bind10 requires that Python 3 is installed on the system. Don’t even try to lookup a RPM for this package, it’s not available. The reason why is because there’s many system packages/scripts that still are dependent on the version 2 of Python, and if you’re installing Python 3 from the source to the default location, your system will be broken. What I can suggest for safety measures is to install Python 3 in another directory in order to let both versions coexist. Indeed, the Python 3 that we are going to install is not going to be managed by CentOS package manager when an update becomes available. You’ll need to take care of this by yourself.

# download the latest version of Python at http://www.python.org/download/releases.
# By write time : 3.3.0
# Go to the crap directory
cd /tmp
# download the source
wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
# uncompress it
tar -xvjf Python-3.3.0.tar.bz2
# move to the directory
cd Python-3.3.0
# prepare the build to prefix all upcoming locations to be prefixed by /opt/python3 instead of the default one
./configure --prefix=/opt/python3
make install

Installing log4cplus

Another dependence that is not included in the default packages is log4cplus. You know log4j ? It’s the same thing for C++.

# Downloading the latest version of log4cplus from sourceforge
# By write time : 1.1.1
# Go to the crap directory
cd /tmp
# download the source
wget 'http://downloads.sourceforge.net/project/log4cplus/log4cplus-stable/1.1.1/log4cplus-1.1.1-rc3.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flog4cplus%2Ffiles%2Flog4cplus-stable%2F1.1.0%2F&ts=1361568620&use_mirror=netcologne'
# uncompress it
tar -xvzf log4cplus-1.1.1-rc3.tar.gz
# move to the directory
cd log4cplus-1.1.1-rc3
# As it's a non-standard package, let's install it in a easy to remember folder
./configure --prefix=/opt/log4cplus
make install

Installing Bind10 1.0.0

Now that we have all required dependencies installed on our machine (some others can be installed, but I don’t care about them for now), let’s configure, build and install Bind10 !

# go to the crap directory
cd /tmp
# download it
wget ftp://ftp.isc.org/isc/bind10/1.0.0/bind10-1.0.0.tar.gz
# extract it
tar -xvzf bind10-1.0.0.tar.gz
# move to the directory
cd bind10-1.0.0
# configure the build to use our custom Python 3 and log4cplus installation
./configure --with-pythonpath=/opt/python3/bin/python3 --with-log4cplus=/opt/log4cplus
make install

We’re done. Bind10 in now intalled on your system and you can now play with it. If you wonder why I didn’t package bind10 as I do for the 9.x flavor usually, well, it’s because of the non-standard for CentOS packages requirements. It would require me to create both Python3 and log4cplus packages, configured with non-standard installation paths just for this. I don’t know/am not sure if I want to do this.

Comment: GPGTools - http://gpgtools.org


Hint: To validate signature, please view page source and copy html code between BEGIN PGP Signed message and END PGP Signature anchors.

Created the 2013-02-23

Share this

Article content


10 last blog posts

Related to this article

blog comments powered by Disqus