Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[modules/yacs.git] / doc / salome / install.dox
1 /*!
2   \page INSTALL Installation instructions
3
4 <b>NOT UP TO DATE %SALOME 4</b>
5 <b>WORK in PROGRESS, INCOMPLETE DOCUMENT</b>
6
7 You'll find here generic instructions for installing the SALOME2 platform.
8
9 \section Summary
10
11 <ol>
12 <li> \ref S1_install </li>
13 <li> \ref S2_install </li>
14 <li> \ref S3_install </li>
15 <li> \ref S4_install </li>
16 <li> \ref S5_install </li>
17 <li> \ref S6_install </li>
18 <li> \ref S7_install </li>
19 <li> \ref S8_install </li>
20 </ol>
21
22 \section S1_install Quick Overview
23
24 First of all, you have to check (or install if needed) the dependant
25 software programs on your system. These programs are:
26
27 - common development tools as gcc, automake, autoconf and libtools.
28 - third party softwares used in SALOME building or runtime process
29   (python, OCC, VTK, ...)
30
31 Further details can be found in sections [2] and [3].
32
33 If the dependencies are installed on your system, then you have to set
34 your shell environment to get access to the software components
35 (cf. [4]. "Preparing the shell environment").
36
37 The next step is to install the KERNEL (cf. [5] "Installing KERNEL"):
38
39 \code
40 $ mkdir <kernel_build>
41 $ mkdir <kernel_install>
42 $ cd <kernel_src>
43 $ ./build_configure
44 $ cd <kernel_build>
45 $ <kernel_src>/configure --prefix=<kernel_install>
46 $ make
47 $ make install
48 \endcode
49
50 Then, the %SALOME components GEOM, MED, VISU, ... can be installed
51 with a similar procedure (cf. [6]).
52
53 Eventually, the platform ccodean be run by executing the shell script
54 runSalome (cf. [7]). Here, somme additionnal variables have to be set
55 to describe the %SALOME runtime configuration (<COMPONENT>_ROOT_DIR,
56 OMNIORB_CONFIG)
57
58 The following provides you with specific instructions for each step.
59
60
61 \section S2_install System configuration
62
63 %SALOME is compiled and tested on differents platforms with native packages:
64 - Debian sarge
65 - Mandrake 10.1
66 - ...
67
68 If you have another platform, we suggest the following configuration
69 for building process:
70
71 - gcc-3.3.x or 3.4.x
72 - automake-1.7 or more (only aclocal is used)
73 - autoconf-2.59
74 - libtool-1.5.6
75
76 remarks:
77
78 - This is the minimum level of automake, autoconf and libtool, if you need
79   to compile all the third party softwares (included OpenCascade 5.2.x).
80
81 \section S3_install Third-party dependencies
82
83 The %SALOME platform relies on a set of third-party softwares. The
84 current version depends on the following list
85 (versions given here are from Debian Sarge, except OpenCascade, VTK and MED,
86 which are not Debian packages):
87
88 - CAS-5.2.4             OpenCascade (try binaries,a source patch is needed)
89 - VTK-4.2.6             VTK 3D-viewer
90 - PyQt-3.13             Python-Qt Wrapper
91 - Python-2.3.5          Python interpreter
92 - SWIG-1.3.24           SWIG library
93 - boost-1_32_0          C++ library (only include templates are used)
94 - hdf5-1.6.2            Files Database library
95 - med-2.2.2             MED Data Format support for file records 
96 - omniORB-4.0.5         ORB used in %SALOME
97 - qt-x11-free-3.3.3     Qt library
98 - qwt-4.2               Graph components for Qt
99 - sip4-4.1.1            langage binding software 
100
101 And, in order to build the documentation:
102
103 - doxygen-1.4.2
104 - graphviz-2.2.1
105
106
107 Additionnal software may be installed for optional features: 
108
109 - netgen4.3 + patch
110 - tix8.1.4
111 - openpbs-2.3.16
112 - lsf-???
113
114 <b>To Do</b>
115
116 - Instructions for installing these software programs can be found in a
117   special note doc/configuration_examples/install-prerequis.
118 - Installation shell scripts are also provided.
119   These scripts have to be adapted to your own configuration.
120
121 - See doc/configuration_examples/*
122
123 In the following, we assume that all the third-party softwares are
124 installed in the same root directory, named <salomeroot>/prerequis.
125 Then, your file system should probably look like::
126
127 \code
128 <salomeroot>/prerequis/Python-2.2.2
129 <salomeroot>/prerequis/omniORB-3.0.5
130 <salomeroot>/prerequis/qt-x11-free-3.0.5
131 ...
132 \endcode
133
134 \section S4_install Preparing the shell environment
135
136 Some variables have to be set to get acces to third-party software
137 components (include files, executable, library, ...) during building
138 process and runtime.
139
140 The shell file prerequis.sh, embedded in the KERNEL source package,
141 provides a template for setting those variables. In this example, all the
142 softwares are supposed to be installed in the same root directory,
143 named here INSTALLROOT.
144
145 Copy the prerequis.sh in a working directory and adjust the settings
146 to your own configuration. To get the shell prepared, just
147 execute the following command in the building shell:
148
149 \code
150 $ source prerequis.sh
151 \endcode
152
153 (we assume here a ksh or bash mode)
154
155
156 \section S5_install Installing the KERNEL component
157
158 We use here the notation <kernel_src> to specify the source directory
159 of the KERNEL component. The shell environment is supposed to have
160 been set (cf. 4).
161
162 Installing the KERNEL from a source package needs three directories:
163
164 - the source directory, denoted here by <kernel_src>.
165
166 - the build directory, denoted by <kernel_build> in the following. This
167   directory can't be the same directory as <kernel_src>.
168
169 - the install directory, denoted by <kernel_install> in the following. This
170   directory can't be the same directory as <kernel_src> or
171   <kernel_build>.
172
173 The installing process is:
174
175 <b>STEP 1:</b>
176   preparing directories
177
178   create the <kernel_build> and the <kernel_install> directories:
179
180   \code
181 $ mkdir <kernel_build>
182 $ mkdir <kernel_install>
183 \endcode
184
185 <b>STEP 2:</b>
186   build configure script
187
188   go to <kernel_src> directory and generate the "configure" script:
189
190   \code
191 $ cd <kernel_src>
192 $ ./build_configure
193   \endcode
194
195   If it doesn't work, check your system automake tools as specified in
196   section [2].
197
198 <b>STEP 3:</b>
199   configure the building process
200   go to the build directory and execute the configuration process::
201
202   \code
203 $ cd <kernel_build>
204 $ <kernel_src>/configure --prefix=<kernel_install>
205   \endcode
206
207   Note that <kernel_install> must be an absolute path.
208
209   When the configure process is complete, check the status of
210   third-party softwares detection. You should have a status like::
211
212   \code
213     ---------------------------------------------
214     Summary
215     ---------------------------------------------
216     Configure
217            cc : yes
218         boost : yes
219      lex_yacc : yes
220        python : yes
221          swig : yes
222       threads : yes
223        OpenGL : yes
224            qt : yes
225           vtk : yes
226          hdf5 : yes
227          med2 : yes
228       omniORB : yes
229           occ : yes
230           sip : yes
231          pyqt : yes
232           qwt : yes
233       doxygen : yes
234      graphviz : no
235       openpbs : no
236           lsf : no
237     Default ORB   : omniORB
238     ----------------------------------------------
239   \endcode
240
241 If a software get a status "no", then it's not "seen" in the system:
242
243 - the software is not installed, or
244 - the shell environment is not set correctly. 
245
246 In this example, the software programs graphviz, openpbs and lsf are not
247 installed (optional for most usages).
248
249
250 <b>STEP 4 :</b>
251   Building the binary files
252
253   Execute make in the <kernel_build> directory::
254
255   \code
256 $ make
257   \endcode
258
259 <b>STEP 5:</b>
260   Installing binary files, scripts and documentation
261
262   Execute install target in the <kernel_build> directory::
263
264   \code
265 $ make install
266   \endcode
267
268 \section S6_install Installing the SALOME components
269
270 TInstalling a component <COMPONENT> is done by following the same
271 instructions as given for the KERNEL, replacing KERNEL by
272 <COMPONENT> (build_configure, configure, make, make install).
273
274 You just have to be aware of the dependencies between components:
275
276 - MED    depends on KERNEL
277 - GEOM   depends on KERNEL
278 - SMESH  depends on KERNEL, MED, GEOM
279 - VISU   depends on KERNEL, MED
280 - SUPERV depends on KERNEL
281
282 For example, installing the component SMESH needs the previous
283 installation of the KERNEL component, and then the GEOM and MED components.
284
285 The building process uses the variables <COMPONENT>_ROOT_DIR to
286 localize the dependant components. The variables must be set to the
287 install path directory of the components <COMPONENT> (ex:
288 KERNEL_ROOT_DIR=<kernel_install>). 
289  
290 In the above example, the three variables KERNEL_ROOT_DIR,
291 GEOM_ROOT_DIR and MED_ROOT_DIR have to be set before configuring the
292 building process of the SMESH component (STEP 3).
293
294
295 \section S7_install Runtime
296
297 See SALOME_Application to define your own configuration of %SALOME and run it
298 on one or several computers. This is the recommended way of configuration.
299
300 The following explains the general principles.
301
302 To run the %SALOME platform, the procedure is:
303
304 - set the shell environment to get acces to third-party softwares:
305
306 \code
307 $ source prerequis.sh
308 \endcode
309
310 - define the %SALOME configuration by setting the whole set of
311   variables <COMPONENT>_ROOT_DIR. Here, you just have to set the
312   kernel and the components you need::
313
314   \code
315 $ export KERNEL_ROOT_DIR=<kernel_install>
316 $ export MED_ROOT_DIR=<med_install>
317 $ ...
318   \endcode
319
320 - define the CORBA configuration file by setting the variable
321   OMNIORB_CONFIG. This variable must be set to a writable file
322   path. The file may be arbitrary chosen and doesn't need to exist
323   before running. We suggest::
324
325   \code
326 $ export OMNIORB_CONFIG=$HOME/.omniORB.cfg
327   \endcode
328
329 - run the %SALOME platform by executing the script runSalome:
330
331   \code
332 $KERNEL_ROOT_DIR/bin/salome/runSalome
333   \endcode
334
335 \section S8_install Suggestions and advices
336
337 For convenience or customization, we suggest the following organisation:
338
339 - chose and create a root directory for the %SALOME platform, say
340   <salomeroot>.
341
342 - install the third-party softwares in a sub-directory "prerequis"
343
344 - install the %SALOME components in a sub-directory "SALOME2"
345
346 - make personnal copies of the files prerequis.sh and runSalome in
347   <salomeroot>:
348
349   \code
350 $ cp <kernel_src>/prerequis.sh <rundir>/.
351 $ cp <kernel_install>/bin/salome/runSalome <rundir>/.
352   \endcode
353
354   Edit the file prerequis.sh and adjust it to your own configuration.
355
356 - define the SALOME2 configuration
357
358   This step consists in setting the KERNEL_ROOT_DIR, the whole set of
359   variables <COMPONENT>_ROOT_DIR you need, and the OMNIORB_CONFIG
360   variable.
361
362   We suggest to create a shell file envSalome.sh containing those
363   settings. Then the configuration consists in loading envSalome.sh in
364   the runtime shell:
365
366 \code
367 $ source envSalome.sh
368 \endcode
369
370 - When installed with this file organisation, running %SALOME is done
371   with the following shell commands::
372
373   \code
374     $ source <salomeroot>/prerequis.sh
375     $ source <salomeroot>/envSalome.sh
376     $ ./runSalome
377   \endcode
378 */