README.linux 3.65 KB
Newer Older
Elemer Lelik's avatar
Elemer Lelik committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
******************************************************************************
* Copyright (c) 2000-2015 Ericsson Telecom AB
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
******************************************************************************

Build and install Titan on Linux

1.Install required libraries: 
(examples are given for Ubuntu 12.04/14.04; for other Linuxes, pls. use the relevant library installation method)

sudo apt-get install g++ expect libssl-dev libxml2-dev libncurses5-dev flex bison
xutils-dev is needed by makedepend:
sudo apt-get install xutils-dev
The following packages may be needed for titan_eclipse/automatic_build:
sudo apt-get install ant xsltproc

Elemer Lelik's avatar
Elemer Lelik committed
20
2.Clone the titan directory from git  into /home/<user_id>/titan.core
Elemer Lelik's avatar
Elemer Lelik committed
21

Elemer Lelik's avatar
Elemer Lelik committed
22
git clone https://github.com/eclipse/titan.core  titan.core
Elemer Lelik's avatar
Elemer Lelik committed
23
24
25

3. Configure the build 

Elemer Lelik's avatar
Elemer Lelik committed
26
cd titan.core
Elemer Lelik's avatar
Elemer Lelik committed
27
28
29
30
31
32
33
34
check  that MakefileFOSS.cfg is present   and  has the following content:
cat MakefileFOSS.cfg

# Configurations for the Free Open Source Software version
LICENSING := no
USAGE_STATS := no


Lenard Nagy's avatar
Lenard Nagy committed
35
Several build options are possible; for details on options, please read through the Makefile.cfg.
Elemer Lelik's avatar
Elemer Lelik committed
36
37
38
39
Options can be overridden by the content of  a file named Makefile.personal which can be used to 
adapt to local installation directories, change config options etc.
Below, a small number of typical scenarios are presented.

Elemer Lelik's avatar
Elemer Lelik committed
40
a) JNI  disabled
Elemer Lelik's avatar
Elemer Lelik committed
41
42
43
44

The JNI interface is used by the Eclipse Titan Executor or by the Java Executor API.
If you don't need them , Titan can be compiled without JNI. 

Elemer Lelik's avatar
Elemer Lelik committed
45
Create ~/titan.core/Makefile.personal to override settings in Makefile.cfg with the following content:
Elemer Lelik's avatar
Elemer Lelik committed
46
47
(replace paths with values relevant to your installation)

Elemer Lelik's avatar
Elemer Lelik committed
48
TTCN3_DIR := /home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
49
50
51
52
53
54
55
56
OPENSSL_DIR := /usr
#JDKDIR := /usr/lib/jvm/java-7-openjdk-amd64
XMLDIR := /usr
JNI := no
GEN_PDF := no



Elemer Lelik's avatar
Elemer Lelik committed
57
b) JNI  enabled
Elemer Lelik's avatar
Elemer Lelik committed
58
59
60

install JDK   into /home/<user id>/jdk

Elemer Lelik's avatar
Elemer Lelik committed
61
Create ~/titan.core/Makefile.personal to override settings in Makefile.cfg with the following content:
Elemer Lelik's avatar
Elemer Lelik committed
62
63
(replace paths with values relevant to your installation)

Elemer Lelik's avatar
Elemer Lelik committed
64
TTCN3_DIR := /home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
65
66
67
68
69
70
71
72
OPENSSL_DIR := /usr
JDKDIR := /usr/lib/jvm/java-7-openjdk-amd64
XMLDIR := /usr
JNI := yes
GEN_PDF := no



Elemer Lelik's avatar
Elemer Lelik committed
73
4. Run make
Elemer Lelik's avatar
Elemer Lelik committed
74
75
76

make

Elemer Lelik's avatar
Elemer Lelik committed
77
5. Set environment variables
Elemer Lelik's avatar
Elemer Lelik committed
78

Elemer Lelik's avatar
Elemer Lelik committed
79
setenv TTCN3_DIR /home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
80
81
setenv PATH /home/<userid>/titan.core/Install/bin/:${PATH}
setenv LD_LIBRARY_PATH /home/<userid>/titan.core/Install/lib:${LD_LIBRARY_PATH}
Elemer Lelik's avatar
Elemer Lelik committed
82

Elemer Lelik's avatar
Elemer Lelik committed
83
for csh
Elemer Lelik's avatar
Elemer Lelik committed
84

Elemer Lelik's avatar
Elemer Lelik committed
85
or 
Elemer Lelik's avatar
Elemer Lelik committed
86

Elemer Lelik's avatar
Elemer Lelik committed
87
export TTCN3_DIR=/home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
88
89
export PATH=/home/<userid>/titan.core/Install/bin/:${PATH}
export LD_LIBRARY_PATH=/home/<userid>/titan.core/Install/lib:${LD_LIBRARY_PATH}
Elemer Lelik's avatar
Elemer Lelik committed
90

Elemer Lelik's avatar
Elemer Lelik committed
91
for bash
Elemer Lelik's avatar
Elemer Lelik committed
92

Elemer Lelik's avatar
Elemer Lelik committed
93
6. Run make install
Elemer Lelik's avatar
Elemer Lelik committed
94

Elemer Lelik's avatar
Elemer Lelik committed
95
make install
Elemer Lelik's avatar
Elemer Lelik committed
96

Elemer Lelik's avatar
Elemer Lelik committed
97
This will install Titan into  /home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
98
99


Lenard Nagy's avatar
Lenard Nagy committed
100
7. Optionally, run function/regression tests
Elemer Lelik's avatar
Elemer Lelik committed
101

Elemer Lelik's avatar
Elemer Lelik committed
102
cd /home/<user id>/titan.core/function_test
Elemer Lelik's avatar
Elemer Lelik committed
103
104
105

in the following Makefiles 

Elemer Lelik's avatar
Elemer Lelik committed
106
BER_EncDec/Makefile
Elemer Lelik's avatar
Elemer Lelik committed
107
108
109
110
111
112
113
114
115
116
117
118
XER_EncDec/Makefile
Text_EncDec/Makefile
RAW_EncDec/Makefile

edit the value of XMLDIR to match your installation values 

run the tests

make

( or make |& tee outputfile if you want to save the output for verification)

Elemer Lelik's avatar
Elemer Lelik committed
119
cd /home/<user id>/titan.core/regression_test
Elemer Lelik's avatar
Elemer Lelik committed
120
121
122
123
124
125
make run

( or make run |& tee outputfile if you want to save the output for verification)

These tests might run for half an hour (regr.tests)  to two hours (func.tests)

Lenard Nagy's avatar
Lenard Nagy committed
126
8. Optionally, copy Titan into its final directory.
Lenard Nagy's avatar
Lenard Nagy committed
127
From here on, you can continue with the Titan installation guide, see /Install/docs, to set/change environment variables etc.