HadronZoo: Bespoke Software Developers
The HadronZoo Suite Download Page

What you are downloading

The HadronZoo Suite comprises the complete C++ source code of the HadronZoo C++ Class Library version 9.6 (beta), together with three programs based on upon it, namely HadronZoo::Epistula, HadronZoo::Dissemino and HadronZoo::Autodoc. Our current development and test environment is 64 bit Centos running g++ 4.4.7, so we know the software compiles and works in this environment. However, we cannot give a comprehensive list of C++ compilers and Linux distributions the software compliles and runs under.

It is our intention to supply data files for IP-address to location mapping as part of the Suite or as a separate download. However we are not yet sure of the legal position on this and so cannot release the data we have compiled. The loaders in the HadronZoo library are optimized for the streamlined format of our data files and not for the files available from the range of vendors. Unless we can clear our owm data for distribution, we will have to add the loaders so that you can use whichever data set has the most suitable licencing for your site.


The HadronZoo C++ Class Library is free software released under version 3 of the Lesser GNU General Public License.

All programs based on the HadronZoo C++ Class Library, namely the Epistula Email Suite, Dissemino (Low Latency Website Engine) and Autodoc (HTML document assembly from source code) are released under version 3 of the GNU General Public License.

All documentation concerning the HadronZoo C++ Class Library, Epistula, Dissemino and Autodoc, are released under version 1.3 of the GNU Free Documentation License.

These three licenses appear on this site as verbatim copies of those available from www.gnu.org. Please read all three licenses before downloading any software as by doing so, you are agreeing to be bound by the terms of these licenses. Note that the Lesser GNU General Public License makes reference to the GNU General Public License.


The tar file unpacks to create a directory of 'HadronZoo'. Where you choose to put that is up to you as the makefiles all use relative paths. This should be in a common area if multiple developers are to use it but it can be in your user area if not. You will need to set an enviroment variable of $HADRONZOO so that the programs know where to find standard data supplied as part of the Suite.

The HadronZoo directory contains sub-directories as follows:-

HadronZoo/licenses (which contain verbatim copies of the three GNU licenses)
    HadronZoo/code/.objs (with empty sub-directories reserved for .o files made during compilation. Note it is .objs not objs)
    HadronZoo/code/hzlib.9.6/inc (library header files),
    HadronZoo/code/hzlib.9.6/src (the library makefile and source files),
    HadronZoo/code/syst/epistula (Epistula makefile, .cpp and .h files)
    HadronZoo/code/syst/Dissemino (Dissemino makefile, .cpp and .h files).
    HadronZoo/code/apps/Autodoc (Autodoc makefile, .cpp and .h files).

To compile the library you will need to invoke 'make' in the HadronZoo/code/hzlib.9.6/src directory. This will create the file libHadronZoo.9.6.a in either /usr/local/lib if you are root or $HOME/lib otherwise. Please make sure these target directories exist or alter the makefiles to write output to a suitable location. Once the library is compiled, you can make Epistula, Dissemino and Autodoc by going to their respective source directories and invoking 'make'. This will place executables in /usr/local/bin if you are root and $HOME/bin otherwise. Again ensure these directories are appropriate for your needs.

OK, I've read the blurb. Give me the Source!