[Ubuntu 12.04] Compilation guide - 28msec/zorba GitHub Wiki

This page will guide you to compiling Zorba including all external modules on Ubuntu 12.04. This page lists the individual requirements of the various zorba components and modules. If you are interested in compiling Zorba with all features and all external modules, refer to [[Ubuntu 12.04] Compilation Guide (All components).

Building Zorba

Check out the source code

sudo apt-get install git
mkdir -p ~/zorba/build
cd ~/zorba
git clone https://github.com/28msec/zorba.git

Install mandatory dependencies

cd ~/zorba/build
sudo apt-get install build-essential cmake libxml2-dev libicu-dev  libxerces-c-dev libcurl4-openssl-dev uuid-dev libxslt-dev

Optional dependencies to rebuild lexer/parser

sudo apt-get install m4
wget http://launchpadlibrarian.net/160037457/bison_3.0.2.dfsg-2_amd64.deb
wget http://launchpadlibrarian.net/160037458/libbison-dev_3.0.2.dfsg-2_amd64.deb
sudo dpkg -i libbison-dev_3.0.2.dfsg-2_amd64.deb bison_3.0.2.dfsg-2_amd64.deb

wget https://launchpad.net/ubuntu/+source/flex/2.5.39-8/+build/6118519/+files/libfl-dev_2.5.39-8_amd64.deb
wget https://launchpad.net/ubuntu/+source/flex/2.5.39-8/+build/6118519/+files/flex_2.5.39-8_amd64.deb
sudo dpkg -i libfl-dev_2.5.39-8_amd64.deb flex_2.5.39-8_amd64.deb

Optional dependencies to rebuild documentation

sudo apt-get install doxygen texlive

Optional dependencies to use a multithreaded testdriver

sudo apt-get install libboost-filesystem-dev

Build

cd ~/zorba/build
cmake -DZORBA_WITH_BIG_INTEGER=ON -DZORBA_XQUERYX:BOOL=1 -DZORBA_TEST_XQUERYX:BOOL=1 -DZORBA_WITH_BIG_INTEGER=1 -DCMAKE_BUILD_TYPE=Release -DZORBA_TEST_PLAN_SERIALIZATION:BOOL=1 -DZORBATEST_USE_MT_XQTS:BOOL=1 ~/zorba/zorba

Building Zorba External Modules

Checkout zorba external modules

Note that the zorba_modules folder must be located at ../zorba_modules (respect to the folder where the zorba source code has been checked out. Moreover the ~ cannot be used in the -Doutdir parameter.

cd ~/zorba/zorba
mkdir -p ~/zorba/zorba_modules
cmake -Doutdir=../zorba_modules -Dallmodules=1 -P modules/DownloadModules.cmake

Extra dependencies for the archive module

sudo apt-get install libarchive-dev=3.0.4twentyeight~precise1

Extra dependencies for the graphviz module

sudo apt-get install graphviz-dev

Extra dependencies for the util-jvm module

sudo apt-get install openjdk-7-jdk

Extra dependencies for the oracle-nosql-db module

wget http://download.oracle.com/otn-pub/otn_software/nosql-database/kv-c-driver_3.3.5-0_amd64.deb 
sudo dpkg -i kv-c-driver_3.3.5-0_amd64.deb

Extra dependencies for the read-pdf module

sudo apt-get install libfontbox-java libjempbox-java libpdfbox-java libcommons-logging-java

Extra dependencies for the html module

sudo apt-get install libtidy-dev

Extra dependencies for the email module

sudo apt-get install python-software-properties
sudo add-apt-repository --yes ppa:fcavalieri/zorba
sudo apt-get update
sudo apt-get install libc-client2007e-dev=8:2007e-1~dfsg-3.2ubuntu1zorba2

Extra dependencies for the sqlite module

sudo apt-get install libsqlite3-dev

Extra dependencies for the couchbase module

sudo wget -O/etc/apt/sources.list.d/couchbase.list http://packages.couchbase.com/ubuntu/couchbase-ubuntu1204.list
wget  http://packages.couchbase.com/ubuntu/couchbase.key
sudo apt-key add couchbase.key
sudo apt-get update
sudo apt-get install libcouchbase-dev

Extra dependencies for the image module

sudo apt-get install libmagick++-dev

Extra dependencies for the geo module

sudo apt-get install libgeos++-dev

Extra dependencies for the schema-tools module

sudo apt-get install xmlbeans

Extra dependencies for the data-formatting module

sudo apt-get install libfop-java libcommons-logging-java

Build Follow zorba build instructions