Documentation Page Changed Installation - This document explains how to install all the dependencies and compile Minni. (minni)

4 views
Skip to first unread message

sourcer...@gmail.com

unread,
Mar 22, 2011, 9:03:29 PM3/22/11
to libm...@googlegroups.com
Hello,

The following documentation page has been updated:

Installation - This document explains how to install all the dependencies and compile Minni.
Project: Minni: Lightweight MapReduce Library
Summary: Update to reflect new packages, renamed packages, and some small minor fixes.
Updated by: Wolfgang Richter
Created by: Wolfgang Richter
Labels:
Phase:Deploy


New content:

# Introduction

This document describes the installation process of *Minni*. Compiling from source is currently the preferred method. *Minni* may be obtained from either the main <a href="http://gateway.fawn.cs.cmu.edu:8080/indefero/p/minni/source/help/">git repository</a> used for development , or as a source packaged <a href="http://gateway.fawn.cs.cmu.edu:8080/indefero/p/minni/downloads/"><code>minni-*.tar.gz</code></a> archive. The commands are meant to be directly run as shown here, and they should work. *Minni* leverages the *<a href="http://www.gnu.org/software/autoconf/">autotools</a>* framework for automated building and with minimal fuss should work on multiple distributions and Unix-based operating systems (*<a href="http://www.oracle.com/us/products/servers-storage/solaris/index.html">Solaris</a>*, *<a href="http://www.apple.com/macosx/">OS X</a>*, *<a href="http://www.freebsd.org/">FreeBSD</a>* etc.).

Currently, *Minni* has only been built and tested in a **<a href="http://www.ubuntu.com/">Ubuntu Lucid Lynx 10.04 LTS</a>** environment.

# Requirements

The main three requirements that *Minni* needs are:

<ol>
<li><a href="http://www.threadingbuildingblocks.org/">TBB</a> -- 2.2</li>
<li><a href="http://incubator.apache.org/thrift/">Thrift</a> -- 0.2.0</li>
<li><a href="http://kosmosfs.sourceforge.net/">KFS</a> -- 0.5</li>
</ol>

Those version numbers are what *Minni* is currently test built against. Later versions may or may not work.

# TBB


On **Ubuntu Lucid Lynx 10.04 LTS** *TBB* is packaged in the main repositories. To install run:

sudo apt-get install libtbb libtbb2-dev

# Thrift

*Thrift* is not currently packaged for **Ubuntu Lucid Lynx 10.04 LTS**, so download the source package and install. *Thrift* has it's own set of dependencies which must also be installed:


sudo apt-get install libboost-dev libevent-dev python-dev automake pkg-config libtool flex bison openjdk-6-jdk g++ php5-dev
wget http://download.nextag.com/apache//incubator/thrift/0.5.0-incubating/thrift-0.5.0.tar.gz
tar xzf thrift-0.5.0.tar.gz
cd thrift-0.5.0
./configure
make
sudo make install
sudo rm /usr/local/include/thrift/config.h

The final <code>rm</code> is needed to delete a file *Thrift* installs that should never ever be installed.

# KFS

*KFS* is not currently packaged for **Ubuntu Lucid Lynx 10.04 LTS**, so download the source package and install. *KFS* has it's own set of dependencies which must also be installed:

sudo apt-get install liblog4cpp5-dev cmake gcc xfsprogs libboost-regex1.40.0 libboost-regex-dev xfslibs-dev zlib1g-dev libssl-dev
wget http://superb-sea2.dl.sourceforge.net/project/kosmosfs/kosmosfs/kfs-0.5/kfs-0.5.tar.gz
tar xzf kfs-0.5.tar.gz
cd kfs-0.5
mkdir build
cd build
cmake ../
make
make install

Make sure you finally install (link or copy) the <code>*.so</code> files located in <code>.../build/lib</code> in a location within <code>LD_PATH</code>, say <code>/usr/lib/kfs/</code>. Then run <code>ldconfig /usr/lib/kfs/</code> to make sure <code>ld</code> can find them later (so that when you run a *Minni* application, it can dynamically load these libraries).

# Minni

Once everything is installed, building *Minni* should be simple! From the git source repository:

./bootstrap.sh
./configure --with-kfs=PATH_TO_KFS_DIR/build

Update the <code>PATH_TO_KFS_DIR</code> to point to where your local *libkfs* resides.

If you got a binary package of *Minni*, you can run:

./configure --with-kfs=PATH_TO_KFS_DIR/build
make

where <code>PATH_TO_KFS_DIR</code> should be replaced by the path to <code>kfs-0.5</code> source directory on your machine.

--
Documentation page: http://sourcery.cmcl.cs.cmu.edu/indefero/p/minni/page/Installation/

Reply all
Reply to author
Forward
0 new messages