Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Describes how to download, build, and install build tools required for Apache Trafodion. |
Table of Contents |
---|
Configurable Installation
The location of the tools is configurable and can be specified in the Trafodion configuration file. The Trafodion configuration file template is located in:
<Trafodion download directory>/incubator-trafodion/core/sqf/LocalSettingsTemplate.sh.
Following the directory structure shown in the template file makes it easier to specify the location of these tools for the build. This means you will only need to set the TOOLSDIR environment variable to the value of the common parent directory before building Trafodion.
...
Required Build Tools
Several tools need to be downloaded, built, and installed:
Tool | Description |
---|---|
MPICH | An implementation of the Message Passing Interface (MPI) standard. For use in Trafodion, MPICH must be built to force sockets to be used in both internode and intranode message passing. |
Bison | General-purpose parser generator. |
Udis86 | Minimalistic disassembler library (libudis86) for the x86 class of instruction set architectures. |
LLVM | Collection of modular and reusable compiler and toolchain technologies. |
ICU | Setup of C/C++ and Java libraries providing Unicode and Globalization support for software applications. |
Zookeeper | Coordination service for distributed applications. It exposes common services such as naming, configuration management, synchronization, and group services. |
Thrift | Communications and data serialization tool. |
Maven | Build tool that is only installed if compatible version does not exist. |
log4cxx | standard logging framework for C++ |
hadoop | shared libraries for libhadoop, libhdfs, and hdfs header file |
You can install these tools using one of the following methods:
- traf_tools_setup.sh installation: a script that uses wget to download the appropriate tar file, builds, and installs the required tool into a directory of your choice for each tool listed above. The advantage of this method is that all the correct tools are downloaded and built in a single directory. Before building, a single environment variable needs to be set called TOOLSDIR.
Manual installation: if one or more of these tools are already installed in your environment or if you want to verify the download location before accepting software, then you can install each tool separately. The advantage of this method is you don't have to reinstall tools that you already have installed. However, there may be an issue with incompatibility between the existing tools and versions required by Trafodion. If you choose this method, you need export the following variables before building:
export BISON="<tool location>/bison_3_linux/bin/bison"
export LLVM="<tool location>/dest-llvm-3.2"
export UDIS86="<tool location>/udis86-1.7.2"
export ICU="<tool location>/icu4.4"
export MPICH_ROOT="<tool location>/dest-mpich-3.0.4"
export ZOOKEEPER_DIR="<tool location>/zookeeper-3.4.5"
export THRIFT_LIB_DIR="<tool location>/thrift-0.9.0/lib"
export THRIFT_INC_DIR="<tool location>/thrift-0.9.0/include"
export LOG4CXX_LIB_DIR="<tool location>/apache-log4cxx-0.10.0/lib"
export HADOOP_BLD_LIB="<tool location>/hadoop-2.6.0/lib/native"
export HADOOP_BLD_INC="<tool location>/hadoop-2.6.0/include"
traf_tools_setup.sh Installation
Note |
---|
You may want to modify traf_tools_setup.sh for your specific environment. Example: if you already have Zoopkeeper installed, you may not want to re-install it. You may need root or sudo access to installs the tools in desired locations. In the sections below, incubator-trafodion represents the root directory where you installed the Trafodion source. (If you have not yet downloaded Trafodion source, please do so now.) |
Code Block | ||||
---|---|---|---|---|
| ||||
cd incubator-trafodion. <Trafodion source directory>/install ./traf_tools_setup.sh -h Usage: ./traf_tools_setup.sh -d <downloaddir> -i <installdir> -d <downloaddir> - location of download directory -i <installdir> - location of install directory -h - help example: traf_tools_setup.sh -d /home/userx/download -i /home/userx/tools |
Run traf_tools_setup.sh to install all dependent tools.
Code Block | ||||
---|---|---|---|---|
| ||||
$ mkdir ~/download
$ ./traf_tools_setup.sh -d ~/download -i ~/tools
INFO: Starting tools build on Fri Nov 6 21:33:53 PST 2015
Tools install directory /home/centos/tools does not exist, do you want to to create it? y/n : y
INFO: Created directory /home/centos/tools
INFO: Tar download location: /home/centos/download
INFO: Tool install directory location: /home/centos/tools
INFO: LogFile location: /home/centos/incubator-trafodion/install/traf_tools_setup.log
***********************************************************
INFO: Installing MPI on Fri Nov 6 21:34:00 PST 2015
INFO: downloaded tar file: mpich-3.0.4.tar.gz
.
.
.
INFO: downloaded tar file: apache-maven-3.3.3-bin.tar.gz
INFO: Maven installation complete
***********************************************************
INFO: Completed tools build on Fri Nov 6 22:23:22 PST 2015
INFO: List of tools directory:
apache-maven-3.3.3
bison_3_linux
dest-llvm-3.2
dest-mpich-3.0.4
icu4.4
thrift-0.9.0
udis86-1.7.2
zookeeper-3.4.5 |
Note |
---|
Don't move the install directory later. |
Manual Install
In the sections below, the <tool installation directory> is the directory where you want the tool to be installed.
MPICH
Tested Version: 3.0.4
Download: http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz (http://www.mpich.org/downloads)
Considerations: For more detailed instructions, see the README file that comes with the source.
Install:
Code Block | ||
---|---|---|
| ||
tar -xzf mpich-3.0.4.tar.gz cd mpich-3.0.4 ./configure --prefix=<tool installation directory>/dest-mpich-3.0.4 --with-device=ch3:sock --disable-f77 --disable-fc make make check make install | ||
<tool installation directory> is the directory where you want MPICH to be installed. If you do not specify the --prefix option, the default location is /usr/local
...
.
Bison
Tested Version: 3.0
Download: http://ftp.gnu.org/gnu/bison/bison-3.0.tar.gz (http://ftp.gnu.org/gnu/bison/)
...
Adjust your PATH to ensure that the correct version is chosen. Rerun the bison --version to verify.
Udis86
Tested Version: 1.7.2
Download: http://sourceforge.net/projects/udis86/files/udis86/1.7/udis86-1.7.2.tar.gz (http://udis86.sourceforge.net)
...
Code Block | ||
---|---|---|
| ||
tar xzf udis86-1.7.2.tar.gz cd udis86-1.7.2 ./configure --prefix=<tool installation directory>/udis86-1.7.2 --enable-shared make make install |
LLVM
Tested Version: 3.2
Download: http://llvm.org/releases/3.2/llvm-3.2.src.tar.gz (http://llvm.org/releases/download.html)
...
Code Block | ||
---|---|---|
| ||
# Set BASE_DIR to the top-level directory where the LLVM source will be # unpacked and the objects compiled. BASE_DIR=<your-base-dir> cd $BASE_DIR tar xzf llvm-3.2.src.tar.gz export MY_UDIS_INSTALL_DIR=<udis-installation-directory>/udis86-1.7.2 export MY_LLVM_INSTALL_DIR=<llvm-installation-directory>/dest-llvm-3.2/ export MY_LLVM_SRC_DIR=$BASE_DIR/llvm-3.2.src export MY_LLVM_OBJ_DIR=$BASE_DIR/llvm-3.2.obj/ export LD_LIBRARY_PATH=$MY_UDIS_INSTALL_DIR/lib:$LD_LIBRARY_PATH export C_INCLUDE_PATH=$MY_UDIS_INSTALL_DIR/include export CPATH=$MY_UDIS_INSTALL_DIR/include mkdir -p $MY_LLVM_OBJ_DIR/release cd $MY_LLVM_OBJ_DIR/release $MY_LLVM_SRC_DIR/configure --prefix=$MY_LLVM_INSTALL_DIR/release \ --enable-optimized --enable-jit \ --enable-shared --enable-targets=x86,x86_64,cpp \ --with-udis86=$MY_UDIS_INSTALL_DIR/lib \ CFLAGS=-fgnu89-inline make libs-only make install-libs mkdir -p $MY_LLVM_OBJ_DIR/debug cd $MY_LLVM_OBJ_DIR/debug $MY_LLVM_SRC_DIR/configure --prefix=$MY_LLVM_INSTALL_DIR/debug \ --enable-optimized --enable-jit \ --enable-debug-runtime --enable-debug-symbols \ --enable-shared --enable-targets=x86,x86_64,cpp \ --with-udis86=$MY_UDIS_INSTALL_DIR/lib \ CFLAGS=-fgnu89-inline make libs-only make install-libs |
ICU
Tested Version: 4.4.0
Download: http://download.icu-project.org/files/icu4c/4.4/icu4c-4_4-src.tgz (http://site.icu-project.org/download)
...
Note |
---|
The following make check errors can be ignored.
[All tests passed successfully...] Elapsed Time: 00:00:12.126 make[2]: Leaving directory `/home/centos/icu/source/test/cintltst' --------------- ALL TESTS SUMMARY: ok: testdata iotest cintltst ===== ERRS: intltest make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/home/centos/icu/source/test' make: *** [check-recursive] Error 2 |
Zookeeper
Tested Version: 3.4.5
Download: https://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
...
Code Block | ||
---|---|---|
| ||
tar -xzf zookeeper-3.4.5.tar.gz cd zookeeper-3.4.5/src/c ./configure --prefix=<tool installation directory>/zookeeper-3.4.5 make make install |
Thrift
Tested Version: 0.9.0
Download: http://archive.apache.org/dist/thrift/0.9.0/
...
Code Block | ||
---|---|---|
| ||
tar -xzf thrift-0.9.0.tar.gz cd thrift-0.9.0 ./configure --prefix=<tool installation dir>/thrift-0.9.0 --without-qt make make install |
Maven
Tested Version: 3.3.3
Download: http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz.
...