HadronZoo: Bespoke Software Developers
The HadronZoo Suite Download Page
Version 10.0 Beta: Due 01/01/2024
 

What you will be downloading

The HadronZoo download (version 10.0 Beta), comprises the complete C++ source code of the HadronZoo C++ Class Library, HadronZoo::Dissemino (Low Latency Web Engine), HadronZoo::Epistula (mailserver and webmail) and HadronZoo::CodeEnforcer (Comment Extractor and Coding Standards Enforcer). Our current development and test environments are 64 bit Centos 7.0 and Ubuntu 22.04. The C++ compiler is g++ 4.4.7. We know the software compiles and works in these environments. However, we cannot give a comprehensive list of C++ compilers and Linux distributions the software would complile and run under.

It is our intention to supply data files for IP-address to location mapping as part of the 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 assume an optimized data format rather than the format supplied by the original 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.

Licensing

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 CodeEnforcer (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 CodeEnforcer, 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.

Please note the HadronZoo library contains the source for the RSA Data Security, Inc. MD5 Message-Digest Algorithm. This must be stated in any licence documents supplied with any software based on the HadronZoo library.

Installation

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.10.0/inc (library header files),
    HadronZoo/code/hzlib.10.0/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/codeEnforcer (Code Enforcer makefile, .cpp and .h files).

To compile the library you will need to invoke 'make' in the HadronZoo/code/hzlib.10.0/src directory. This will create the file libHadronZoo.10.0.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 CodeEnforcer 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.