You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Explains how to build the Trafodion source. 



 

Warning

You MUST complete the steps in Create Build Environment before you build the Trafodion source since those steps install required Linux packages as well as set up important environmental variables.

Download and Install Trafodion Source Tree

If you haven’t done so already, then download and install the Trafodion source tree. Refer to the Source Download instructions in the How-To chapter.

Set Up Environmental Variables

Start a new ssh session. Use the following commands to set up the Trafodion environmental variables.

TOOLSDIR Variable

You should have set up the TOOLSDIR environmental variable in your .bashrc or .profile already. as part of installing the Trafodion build tools. If you have not, please do so now. Refer to Install Required Build Tools.

cd <Trafodion source directory>
source ./env.sh

Example

Set Up Environmental Variables
$ cd mysource/incubator-trafodion
$ source ./env.sh


    If you are ready to build Trafodion, perform one of the following options:

      make all         (Build Trafodion, DCS, and REST) OR
      make package     (Build Trafodion, DCS, REST, and Client drivers)  OR
      make package-all (Build Trafodion, DCS, REST, Client drivers, and Tests)

    If Trafodion has been built and you want test:

       Execute the install_local_hadoop script which performs a single node
       install using a popular Hadoop distribution

          cd /home/trafdeveloper/mysource/incubator-trafodion/core/sqf/sql/scripts
          install_local_hadoop [-p <port option>]
          install_traf_components
          configure Trafodion and start the processes
          HAVE FUN!

   You can also choose to install_local_hadoop before building Trafodion.

$


Build Trafodion Components

All make options sets up your environment to run a debug version of the Trafodion server-side code on the server where you are building the code. This is refereed to as "Trafodion" in the table below.

 

You use the generated tar files in case you want to install Trafodion on a different development environment. (To be documented later.)
CommandWhat It Builds
make allTrafodion, DCS, and REST.
make packageTrafodion, DCS, REST, and Client Drivers. Often referred to as "Trafodion binaries".
make package-allTrafodion, DCS, REST, Client Drivers, and tests for all components.

Tip

If the build fails, you might want to rerun the make step. Trafodion downloads many dependencies and sometimes one of the download operations fail. Rerunning the build generally works. If the build continues to fail after a few tries, then rerun the make with the -j 1 option to run the build in non-parallel mode, which makes it easier to locate errors.

make all

Build Trafodion plus DCS and REST tar files.

 

Example: make all
$ make all
Building all Trafodion components
cd core && make all
make[1]: Entering directory `/home/trafdeveloper/mysource/incubator-trafodion/core'
./bldenvchk.sh;
cd sqf && make genverhdr
make[2]: Entering directory `/home/trafdeveloper/mysource/incubator-trafodion/core/sqf'
Building Apache Trafodion Version 1.3.0 debug
*** Warning: QT_TOOLKIT does not point to an existing directory.
*** Warning: SQL Compiler Debugger will not be built.

cd sqf && make setupdir
make[2]: Entering directory `/home/trafdeveloper/mysource/incubator-trafodion/core/sqf'
mkdir -p export/bin64d
mkdir -p export/lib64d
mkdir -p export/include/sql
mkdir -p export/include
cd monitor/linux; make setup
.
.
.
[INFO] Nothing to compile - all classes are up to date  ##(DCS)
[INFO] Building jar: /home/trafdeveloper/mysource/incubator-trafodion/dcs/target/dcs-1.3.0.jar  ##(DCS)
[INFO] Building tar: /home/trafdeveloper/mysource/incubator-trafodion/dcs/target/dcs-1.3.0.tar.gz  ##(DCS)
[INFO] BUILD SUCCESS  ##(DCS)
mkdir -p ../distribution  ##(DCS)
mv target/dcs-1.3.0.tar.gz ../distribution  ##(DCS)
rm -f trafodion-dcs.jar.versions  ##(DCS)
make[2]: Leaving directory `/home/trafdeveloper/mysource/incubator-trafodion/dcs'  ##(DCS)
make[1]: Leaving directory `/home/trafdeveloper/mysource/incubator-trafodion/core'
$ # Check that distribution files were created
$ ls distribution
dcs-1.3.0.tar.gz  rest-1.3.0.tar.gz
$

make package

Build Trafodion plus tar files for DCS, REST, and Client Drivers.

Example: make package
$ cd mysource/incubator-trafodion
$ source ./env.sh
$ make package
Packaging Trafodion components
cd core && make package
make[1]: Entering directory `/home/trafdeveloper/mysource/incubator-trafodion/core'
./bldenvchk.sh;
cd sqf && make genverhdr
make[2]: Entering directory `/home/trafdeveloper/mysource/incubator-trafodion/core/sqf'
Building Apache Trafodion Version 1.3.0 debug
.
.
.
rm -f "trafodion_debug.tar" pkglist-files pkglist-symlinks tmp/sqenv.sh ##(Package)
make[2]: Leaving directory `/home/trafdeveloper/mysource/incubator-trafodion/core/sqf'        ##(Package)
make[1]: Leaving directory `/home/trafdeveloper/mysource/incubator-trafodion/core'
$ ls distribution/
dcs-1.3.0.tar.gz  rest-1.3.0.tar.gz  trafodion_clients-1.3.0-debug.tgz  trafodion_server-1.3.0-debug.tgz

make package-all

Build Trafodion plus tar files for DCS, REST, Client Drivers, and tests for all components.

Example: make package-all
Packaging all Trafodion components
cd core && make package-all
make[1]: Entering directory `/home/trafdeveloper/mysource/incubator-trafodion/core'
./bldenvchk.sh;
cd sqf && make genverhdr
make[2]: Entering directory `/home/trafdeveloper/mysource/incubator-trafodion/core/sqf'
Building Apache Trafodion Version 1.3.0 debug
.
.
.
cd tmp; tar --mode o-rwx -rf ../"trafodion_debug.tar" sqenv.sh  ##(Package)
gzip -c "trafodion_debug.tar" > "../../distribution/trafodion_"server-1.3.0-debug".tgz" ##(Package)
rm -f "trafodion_debug.tar" pkglist-files pkglist-symlinks tmp/sqenv.sh ##(Package)
make[2]: Leaving directory `/home/trafdeveloper/mysource/incubator-trafodion/core/sqf'        ##(Package)
make[1]: Leaving directory `/home/trafdeveloper/mysource/incubator-trafodion/core'
$ ls distribution/
dcs-1.3.0.tar.gz  phoenix-tests.tgz  trafodion_clients-1.3.0-debug.tgz  trafodion_server-1.3.0-debug.tgz
dcs-tests.tgz     rest-1.3.0.tar.gz  trafodion-regress.tgz

Verify Build

Local Binary Files

Check that local Trafodion binary files were created in the build.

Example: Check Local File Creation
$ # Check that local binary files were created
$ ls $MY_SQROOT/export/bin64d
dtmci            ldapcheck        monitor    mpirun          mxosrvr  odb64luo  sqid    sqvers      tdm_arkesp   tmshutdown
hydra_pmi_proxy  ldapconfigcheck  monmemlog  mxcierrors.cat  mxsscp   pstartd   sqinfo  sqwatchdog  tdm_udrserv
idtmsrv          mondump          mpicc      mxlobsrvr       mxssmp   shell     sqlci   tdm_arkcmp  tm

 

sqvers

Use sqvers -u to verify the build.

Example: sqvers -u
$ sqvers -u
MY_SQROOT=/home/trafdeveloper/mysource/incubator-trafodion/core/sqf
who@host=trafdeveloper@box01
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64
SQ_MBTYPE=64d (64-debug)
linux=2.6.32-504.el6.x86_64
redhat=6.6
NO patches
Most common Apache_Trafodion Release 1.3.0 (Build debug [trafdeveloper], branch -, date 25Jan16)
UTT count is 1
[6]     Release 1.3.0 (Build debug [trafdeveloper], branch -, date 25Jan16)
          export/lib/hbase-trx-cdh5_3-1.3.0.jar
          export/lib/hbase-trx-hbase_98_4-1.3.0.jar
          export/lib/hbase-trx-hdp2_2-1.3.0.jar
          export/lib/sqmanvers.jar
          export/lib/trafodion-dtm-1.3.0.jar
          export/lib/trafodion-sql-1.3.0.jar
$

 

The output from the sqvers -u commands should show several jar files. The number of files differs based on the version of Trafodion you downloaded.

Next Steps

Do one of the following once the build has completed:

 

  • Create Test Environment: Set up the Trafodion development test environment on the server where you did the build. You'll install a Hadoop environment, start Trafodion, and run the Trafodion Test Libraries.
  • Install Trafodion Binaries: Using the packages you created (make package or make package-all), install the Trafodion Binaries using the steps described in the Trafodion documentation.

 

 

 

  • No labels