README.linux 4.46 KB
Newer Older
Elemer Lelik's avatar
Elemer Lelik committed
1
******************************************************************************
Elemer Lelik's avatar
Elemer Lelik committed
2
* Copyright (c) 2000-2016 Ericsson Telecom AB
Elemer Lelik's avatar
Elemer Lelik committed
3
4
5
6
* 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
Elemer Lelik's avatar
Elemer Lelik committed
7
8
9
10
11
12
*  Contributors:
*   Balasko, Jeno
*   Baranyi, Botond
*   Lelik, Elemer
*   Pilisi, Gergely
*   Szabados, Kristof
Elemer Lelik's avatar
Elemer Lelik committed
13
14
15
16
17
18
19
20
21
22
23
24
25
******************************************************************************

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
26
2.Clone the titan directory from git  into /home/<user_id>/titan.core
Elemer Lelik's avatar
Elemer Lelik committed
27

Elemer Lelik's avatar
Elemer Lelik committed
28
git clone https://github.com/eclipse/titan.core  titan.core
Elemer Lelik's avatar
Elemer Lelik committed
29
30
31

3. Configure the build 

Elemer Lelik's avatar
Elemer Lelik committed
32
cd titan.core
Elemer Lelik's avatar
Elemer Lelik committed
33
34

For open source users: check that MakefileFOSS.cfg is present and has the following content:
Elemer Lelik's avatar
Elemer Lelik committed
35
36
37
38
39
40
cat MakefileFOSS.cfg

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

Elemer Lelik's avatar
Elemer Lelik committed
41
42
If you want to use your build within teh Ericsson domain: delete MakefileFOSS.cfg
This will enable licensing.
Elemer Lelik's avatar
Elemer Lelik committed
43

Lenard Nagy's avatar
Lenard Nagy committed
44
Several build options are possible; for details on options please read through the Makefile.cfg.
Elemer Lelik's avatar
Elemer Lelik committed
45
46
47
48
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
49
a) JNI  disabled, gcc compiler (default)
Elemer Lelik's avatar
Elemer Lelik committed
50
51
52
53

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
54
Create ~/titan.core/Makefile.personal to override settings in Makefile.cfg with the following content:
Elemer Lelik's avatar
Elemer Lelik committed
55
56
(replace paths with values relevant to your installation)

Elemer Lelik's avatar
Elemer Lelik committed
57
TTCN3_DIR := /home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
58
59
60
61
62
63
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
64
65
66
67
b) JNI  disabled, clang compiler ver. 3.8

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

Elemer Lelik's avatar
Elemer Lelik committed
69
70
71
72
73
74
75
76
TTCN3_DIR := /home/<user id>/titan.core/Install
OPENSSL_DIR := /usr
#JDKDIR := /usr/lib/jvm/java-7-openjdk-amd64
XMLDIR := /usr
JNI := no
GEN_PDF := no
CXX := clang++-3.8
CC := clang-3.8 
Elemer Lelik's avatar
Elemer Lelik committed
77
78


Elemer Lelik's avatar
Elemer Lelik committed
79
c) JNI  enabled, gcc compiler (default)
Elemer Lelik's avatar
Elemer Lelik committed
80
81
82

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

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

Elemer Lelik's avatar
Elemer Lelik committed
86
TTCN3_DIR := /home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
87
88
89
90
91
92
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
93
Note: For Raspberry Pi "-fsigned-char" needs to be added to compiler flags in Makefile.personal:
Elemer Lelik's avatar
Elemer Lelik committed
94

Elemer Lelik's avatar
Elemer Lelik committed
95
COMPILERFLAGS := -Wall -fsigned-char
Elemer Lelik's avatar
Elemer Lelik committed
96

Elemer Lelik's avatar
Elemer Lelik committed
97
4. Run make
Elemer Lelik's avatar
Elemer Lelik committed
98
99
100

make

Elemer Lelik's avatar
Elemer Lelik committed
101
5. Set environment variables
Elemer Lelik's avatar
Elemer Lelik committed
102

Elemer Lelik's avatar
Elemer Lelik committed
103
setenv TTCN3_DIR /home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
104
105
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
106

Elemer Lelik's avatar
Elemer Lelik committed
107
for csh
Elemer Lelik's avatar
Elemer Lelik committed
108

Elemer Lelik's avatar
Elemer Lelik committed
109
or 
Elemer Lelik's avatar
Elemer Lelik committed
110

Elemer Lelik's avatar
Elemer Lelik committed
111
export TTCN3_DIR=/home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
112
113
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
114

Elemer Lelik's avatar
Elemer Lelik committed
115
for bash
Elemer Lelik's avatar
Elemer Lelik committed
116

Elemer Lelik's avatar
Elemer Lelik committed
117
6. Run make install
Elemer Lelik's avatar
Elemer Lelik committed
118

Elemer Lelik's avatar
Elemer Lelik committed
119
make install
Elemer Lelik's avatar
Elemer Lelik committed
120

Elemer Lelik's avatar
Elemer Lelik committed
121
This will install Titan into  /home/<user id>/titan.core/Install
Elemer Lelik's avatar
Elemer Lelik committed
122
123


Elemer Lelik's avatar
Elemer Lelik committed
124
7. Optionally , run function/regression tests
Elemer Lelik's avatar
Elemer Lelik committed
125

Elemer Lelik's avatar
Elemer Lelik committed
126
cd /home/<user id>/titan.core/function_test
Elemer Lelik's avatar
Elemer Lelik committed
127
128
129

in the following Makefiles 

Elemer Lelik's avatar
Elemer Lelik committed
130
BER_EncDec/Makefile
Elemer Lelik's avatar
Elemer Lelik committed
131
132
133
134
135
136
137
138
139
140
141
142
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
143
cd /home/<user id>/titan.core/regression_test
Elemer Lelik's avatar
Elemer Lelik committed
144
145
146
147
148
149
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
150
8. Optionally, copy Titan into its final directory.
Lenard Nagy's avatar
Lenard Nagy committed
151
From here on, you can continue with the Titan installation guide, see /Install/docs, to set/change environment variables etc.
Elemer Lelik's avatar
Elemer Lelik committed
152