================
=== CONTENTS ===
================
* HOW TO BUILD
* HOW TO RUN REGRESSION TESTS
* HOW TO BUILD SOURCE CODE DOCUMENTATION TREE (Doxygen)
====================
=== HOW TO BUILD ===
====================
1. Install CMake (http://www.cmake.org/)
2. Install Required libraries (you may already have them installed)
- BerkeleyDB 4.6+
Example (generic Linux):
tar -xzvf ~/Downloads/db-4.7.25.tar.gz
cd db-4.7.25/build_unix/
../dist/configure --enable-cxx
make
sudo make install
echo "/usr/local/BerkeleyDB.4.7/lib" | \
sudo tee /etc/ld.so.conf.d/BerkeleyDB.conf
sudo /sbin/ldconfig
Example (using apt-get, typical on Debian variants (Ubuntu etc.)):
sudo apt-get install libdb4.6++-dev
Example (using yum, typical on Redhat variants (CentOS, Fedora etc.)):
sudo yum install db4-devel
Note: if distribution has version older than 4.6+, try the generic way.
- Boost version 1.34.1+ (http://www.boost.org/)
Example (using apt-get)
sudo apt-get libboost-.*-dev
Example (using yum)
sudo yum install boost-devel
Note: if distribution has version older than 1.34.1+, try the generic way.
- log4cpp dev lib (http://log4cpp.sourceforge.net/)
There is a bug in log4cpp that causes is to crash when trying to log
messages larger than 1023 characters. We've created a patch to fix the
problem (thanks goes to Josh Taylor for coming up with this patch). The
following shell transcript illustrates how to build and install log4cpp:
$ wget http://www.hypertable.org/pub/0003-Fixed-bug-in-StringUtil-vform.patch
$ tar -xzvf ~/download/log4cpp-1.0.tar.gz
$ cd log4cpp-1.0
$ patch -p1 < ../0003-Fixed-bug-in-StringUtil-vform.patch
$ ./configure
$ make
$ sudo make install
NOTE: If your row keys are reasonably small, you may not run into this problem
- expat dev lib (http://sourceforge.net/projects/expat;
yum: expat-devel; apt-get: libexpat1-dev)
- readline dev lib (yum: readline-devel; apt-get: libreadline5-dev)
- ncurses dev lib (usually auto installed by installing above)
- gcc (if it's not already installed)
Example (using apt-get)
sudo apt-get install g++
HIGHLY RECOMMENDED (but not required):
- tcmalloc (http://code.google.com/p/google-perftools/)
3. Checkout the source code.
mkdir ~/src
cd ~/src
git clone git://scm.hypertable.org/pub/repos/hypertable.git
4. Create an install directory
mkdir ~/hypertable
5. Create a build directory
mkdir -p ~/build/hypertable
6. Configure the build.
cd ~/build/hypertable
cmake ~/src/hypertable
By default, hypertable gets installed in /opt/hypertable. To install into
your own install directory, say $prefix, you can use:
cmake -DCMAKE_INSTALL_PREFIX=$prefix ~/src/hypertable
Also default the build is configured for Debug. To compile for
performance/benchmark:
cmake -DCMAKE_BUILD_TYPE=Release ~/src/Hypertable
Note, one can also use:
ccmake ~/src/hypertable
to change build parameters interactively.
To build shared libraries, e.g., for scripting language extensions:
cmake -DBUILD_SHARED_LIBS=ON ~/src/hypertable
7. Build the software.
make (or make -j<number_of_cpu_or_cores_plus_1> for faster compile)
make install
Note, if it's a shared library install, you might need to do:
echo $prefix/$version/lib' | \
sudo tee /etc/ld.so.conf.d/hypertable
sudo /sbin/ldconfig
Or, you can use the usual LD_LIBRARY_PATH (most Unix like OS) and
DYLD_LIBRARY_PATH (Mac OS X) to specify non-standard shared library
directories.
===================================
=== HOW TO RUN REGRESSION TESTS ===
===================================
1. Make sure software is built and installed according to 'HOW TO BUILD'
2. Restart servers and re-create test tables
**********************************************************************
*** WARNING: THIS STEP MUST BE PERFORMED PRIOR TO RUNNING THE TEST ***
**********************************************************************
version=0.9.0.7
cd $prefix/$version
bin/kill-servers.sh
bin/start-all-servers.sh local
3. Run the regression tests
cd ~/build/hypertable
make test
=============================================================
=== HOW TO BUILD SOURCE CODE DOCUMENTATION TREE (Doxygen) ===
=============================================================
1. Install the following libraries:
- doxygen (http://www.stack.nl/~dimitri/doxygen/)
- graphviz (http://www.graphviz.org/)
2. If you have doxygen installed on your system, then CMake should detect this
and add a 'doc' target to the make file. Building the source code
documentation tree is just a matter of running the following commands:
cd ~/build/hypertable
make doc
The documentation tree will get generated under ~/build/hypertable/doc. To view
the HTML docs, load the following file into a web browser:
~/build/hypertable/doc/html/index.html