Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Code Block
languagebash
titleExample: 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] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.412 s
[INFO] Finished at: 2017-11-07T21:32:31-08:00
[INFO] Final Memory: 24M/57M
[INFO] ------------------------------------------------------------------------
mkdir -p /home/wangxz/Trafodion/src/incubator-trafodion/core/sqf/export/lib
/bin/cp -f target/lib_mgmt-2.3.0.jar /home/wangxz/Trafodion/src/incubator-trafodion/core/sqf/expor\
t/lib/lib_mgmt.jar
make[2]: Leaving directory `/home/wangxz/Trafodion/src/incubator-trafodion/core/sql/lib_mgmt'
make[1]: Leaving directory `/home/wangxz/Trafodion/src/incubator-trafodion/core'
$ 

Anchor
build-make-package
build-make-package

make package

Build Trafodion plus tar files for DCS, REST, and Client Drivers. (If you need to package windows drivers see special instructions below "Build/update windows drivers")

Code Block
languagebash
titleExample: 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+ umask 022     ##(Package installer)
+ cd /home/wangxz/Trafodion/src/incubator-trafodion/install/ambari-installer/RPMROOT/BUILD      ##(Package installer)
+ cd traf_ambari        ##(Package installer)
+ /bin/rm -rf /home/wangxz/Trafodion/src/incubator-trafodion/install/ambari-installer/RPMROOT/BUILDROOT/traf_ambari-2.3.0-1.x86_64      ##(Package installer)
+ exit 0        ##(Package installer)
mkdir -p ../../distribution     ##(Package installer)
mv -f /home/wangxz/Trafodion/src/incubator-trafodion/install/ambari-installer/RPMROOT/RPMS/noarch/traf_ambari*.rpm ../../distribution/  ##(Package installer)
make[3]: Leaving directory `/home/wangxz/Trafodion/src/incubator-trafodion/install/ambari-installer'    ##(Package installer)
make[2]: Leaving directory `/home/wangxz/trafdeveloperTrafodion/mysourcesrc/incubator-trafodion/core/sqf'   install'     ##(Package installer)
make[1]: Leaving directory `/home/wangxz/trafdeveloperTrafodion/mysourcesrc/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

Anchor
build-make-package-all
build-make-package-all

make package-all

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

Code Block
languagebash
titleExample: 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

Make/update windows drivers

Note : This needs to be done only by Release Managers before a release or whenever someone makes a change to the drivers .  The process is manual since it's built on Windows. The nightly Jenkins build picks up this the executable and packages it everytime.

Build instructions for Build Machine Windows 8.1 (Windows 10 has not been tested)

 

  1. First create C:\Build\win-odbc64\inc, redist directory
  2. Download Active perl for windows and install https://www.perl.org/get.html
  3. Download and install Visual Studio 2013 community edition
  4. Download, build and install openSSL version(openssl-1.0.1p.tar.gz) ftp://ftp.openssl.org/source/ Follow instructions in “Build openssl” section below
  5.  Download zlib for Windows(https://github.com/madler/zlib/)Follow instructions in “Build zlib “ section below
  6. Download  and install Unicode version of Inno software for packaging (http://www.jrsoftware.org/isdl.php)
  7. Download the  C++  Redistributable runtime library http://www.microsoft.com/en-us/download/details.aspx?id=40784 and copy it to C:\Build\winodbc64\redist folder (Note: if the folder does not exist please create that folder)
  8. Download github  ( http://git-scm.com/downloads) if you need to contribute
  9. Download a copy of Trafodion source to build Windows ODBC driver (git clone git@github.com:apache/incubator-trafodion);Follow instructions in “Build Trafodion ODBC driver

Build openssl static libraries for Windows 64 bit

  1. Un-tar the openssl-1.0.1p.tar.gz file to c:\Traf-Windows-BldTools folder
  2. Launch Visual Studio 2013 tool x64 Cross Tools Command prompt
  3. Change to the directory where you have un-tarred openssl source file (eg: cd c:\Traf-WinBld-Tools\openssl-1.0p
  4. Configure for the target directory to install openssl  using the command
  5. perl Configure VC-WIN64A --prefix=c:/openssl-1.0.1p.
  6. Run the following:
  7. ms\do_nasm
  8. ms\do_win64a
  9. nmake –f ms\nt.mak clean ? To clean
  10. nmake -f ms\nt.mak install ? To build static libraries and install it to the location specified during configure step
  11. Copy the file “applink.c” to the installed openssl include location. This file can be found in ms directory of the openssl source directory
  12.  copy c:\Traf-WinBld-Tools\openss-1.0.1p\ms\applink.c c:\openssl-1.0.1p\include)

Build zlib libraries for Windows 64 bit

  1. Launch Visual Studio 2013 tool x64 Cross Tools Command prompt
  2. Change to the directory where you have un-zipped zlib source location (Ex: cd c:\Traf-WinBld-Tools\zlib-master)
  3. Open the Visual Studio solution (zlibvc.sln) located in zlib-master\contrib\vstudio\vc11. Then do the following:
  4. Change the Solution Configuration  to “Release” “x64” for the solution
  5. Then do Build ? Clean Solution
  6. And Build? Build Soution
  7. Following error will be seen 
  8. error LNK1118: syntax error in 'VERSION' statement    C:\Traf-Windows-bldTools\zlib-master\contrib\vstudio\vc11\zlibvc.def  
  9. To resolve the above error, Double click on the error when it opens in the editor change the Version from 1.2.8 to 1.28
  10. VERSION              1.2.8   to
  11. VERSION              1.28
  12. Click Save and Build the solution again
  13. Build will succeed
  14. Close the Visual studio solution.

Build Trafodion windows ODBC driver for Windows 64 bit

  1. Copy trafsqlext.h from C:\Trafodion-Workspace\traf-plus\win-odbc64\odbcclient\inc to C:\Build\win-odbc64\inc folder
  2. Launch Visual Studio 2013 tool x64 Cross Tools Command prompt
  3. Cd  c:\incubator-trafodion\ win-odbc64\odbcclient
  4. Edit build_os.bat and update the following
  5. set ZLIB_INCLUDE_PATH=C:\zlib-master\include
  6. set ZLIB_LIB_PATH= C:\Traf-Windows-bldTools\zlib-master\contrib\vstudio\vc11\x64\ZlibStatRelease
  7. set OPENSSL_INCLUDE_PATH= C:\openssl-1.0.1p\include
  8. set OPENSSL_LIB_PATH= C:\openssl-1.0.1p\lib
  9. Run the build script by executing, build_os.bat file

 ODBC driver exe file will be created in c:\Build\win-odbc64 folder.This exe should be moved to linux to the core/conn/clients directory, so that it will be packaged along with other clients when we do the step "Make package-all"

Verify Build

Local Binary Files

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

 Debug build objects will be found in $TRAF_HOME/export/bin64d.

 Release objects will be found in $TRAF_HOME/export/bin64. For example :

Code Block
languagebash
titleExample: Check Local File Creation
$ # Check that local binary files were created
$ ls $TRAF_HOME/export/bin64
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 to verify the build.

Code Block
languagebash
titleExample: sqvers -u
$ sqvers -u
TRAF_HOME=/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.