================ === 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