Salome HOME
9e16af3305174bcf1452d88b65791c3efbbc2569
[tools/install.git] / doc / readme.html
1 <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2 <html>
3 <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5    <meta name="GENERATOR" content="Mozilla/4.8 [en] (X11; U; Linux 2.4.18-14 i686) [Netscape]">
6    <meta name="Author" content="Vadim SANDLER (v-sandler@opencascade.com)">
7    <title>SALOME Professional v1.2 Installation Wizard Help</title>
8 </head>
9 <body text="#000000" bgcolor="#FFFFE5" link="#0000EE" vlink="#551A8B" alink="#FF0000">
10 &nbsp;
11 <center><table WIDTH="100%" NOSAVE >
12 <tr NOSAVE>
13 <td NOSAVE>
14 <h1>
15 <a href="http://www.opencascade.com"><img SRC="logocorp.png" BORDER=0 height=47 width=139></a></h1>
16 </td>
17
18 <td>
19 <center>
20 <h1>
21 <font size=+4><font color="#000099">SALOME Professional Installation Wizard
22 Help</font>&nbsp;</font></h1></center>
23 </td>
24
25 <td>
26 <div align=right><a href="http://www.opencascade.org/SALOME/"><img SRC="application.png" BORDER=0 height=45 width=104></a></div>
27 </td>
28 </tr>
29 </table></center>
30
31 <div align=right><b><font color="#000099">updated for the version 1.2d</font></b></div>
32
33 <hr>
34 <ul>
35 <li>
36 <a href="#install_from_wizard">Installing products with the Installation
37 Wizard</a></li>
38
39 <li>
40 <a href="#check_version_proc">Notes on check products version procedure</a></li>
41
42 <li>
43 <a href="#pick_up_env">Pick up the environment</a></li>
44
45 <li>
46 <a href="#xml_files">Modifying XML configuration file</a></li>
47
48 <li>
49 <a href="#new_products">Implementing installation scripts for the new products</a></li>
50 </ul>
51
52 <h3>
53
54 <hr></h3>
55
56 <h3>
57 <a NAME="install_from_wizard"></a>Installing products with the <font color="#FF0000">Installation
58 Wizard</font></h3>
59 You can run the Installation Wizard in two modes. It's root directory contains
60 python script runInstall.py:
61 <p><b>[ python ] runInstall [ -g | b ] [ -f &lt;xml-file> ] [ -t &lt;target-dir>
62 ] [ -tmp &lt;tmp-dir> ]</b>
63 <p><b>-g&nbsp;</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
64 Runs the Installation Wizard in the GUI mode. In this case only &lt;xml-file>
65 key is taken into account. This option is used by default.
66 <br><b>-b&nbsp;</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
67 Runs the Installation Wizard in the batch mode.
68 <br><b>-f &lt;xml-file>&nbsp;&nbsp;&nbsp;</b>&nbsp;&nbsp; The configuration
69 file to be used by the Installation Wizard.&nbsp; If this parameter is
70 missed then the script tries to define the <i>Red Hat </i>version and use
71 corresponding xml file. For examle, for the <i>Red Hat 8.0</i> <b>config_RedHat8_0.xml</b>&nbsp;
72 file is supposed to be used by default. If the appropriate file is not
73 found, <b>config.xml</b> is used by default.
74 <br><b>-t &lt;target-dir></b>&nbsp; The target directory, SALOME products
75 to be installed to. If used, overloads target directory, described in the
76 configuration file.
77 <br><b>-tmp &lt;tmp-dir></b>&nbsp; The directory, which is used to contain
78 temporary files.&nbsp; If used, overloads temporary directory, described
79 in the configuration file.
80 <p>So, to run the Installation Wizard in the GUI mode, just type <b>runInstall</b>.
81 <p>The installation procedure can support some different Linux platforms
82 (currently it provides configuration scripts for <i>RedHat-7.1</i> and
83 <i>RedHat-8.0</i>)
84 and various number of products.
85 <br>The using of configuration xml files gives flexible way to modify the
86 list of products to be installed by the Installation Wizard without changing
87 program's source code. Just create your own configuration file and implement
88 installation scripts for products you want to be provided by Wizard. See
89 <a href="#xml_files">modifying
90 XML configuration file</a> and <a href="#new_products">implementing installation
91 scripts for the new products</a> for more information.
92 <p>The <font color="#FF0000">Installation Wizard</font> was built with
93 using of the <b><i>Qt&nbsp; </i></b>library. The program contains several
94 pages. To navigate between pages use <i>"Next"</i> and <i>"Back"</i> buttons
95 in the lower part of the wizard window. <i>"Cancel"</i> button closes dialog
96 window and quits the installation procedure. To invoke this help information
97 click
98 <i>"Help"</i> button.
99 <p>Skip the first <i>"Introduction"</i> page by pressing <i>"Next"</i>
100 button.
101 <p>In the second page you are proposed to enter the target directory where
102 all selected products will be installed to. You can also press <i>"Browse..."</i>
103 button and choose the folder for installation using standard <b><i>Qt</i></b>
104 browse directory dialog box.
105 <br>If the directory you want to install products does not exist you will
106 be prompted to confirm directory creation. If you type wrong directory
107 path, or if you have no permission for the directory you use, the corresponding
108 message box will raise.
109 <p>The Installation Wizard has two modes of the installation: basic and
110 advanced. In the basic mode it is necessary just to enter target directory.
111 If you want to use advanced mode, click <i>"More..."</i> button.
112 <p>In the advanced mode you have the possibility to select products to
113 be installed (see <a href="#ProductPage">Fig.1</a> ). Each product has
114 several options of installation: you have a possibility to use native products,
115 install already precompiled binaries, build product from the sources or
116 not installed at all. Possible options and default choice are provided
117 by the configuration file. You can mark the products, you want to install,
118 by clicking the corresponding radiobuttons in the list view in the left
119 part of the page. Note that some products can be installed only together
120 with other products (or these prerequisite products should be already installed
121 on your computer). The installation procedure has a special feature to
122 automatically mark these products in the list view. For example, in order
123 to install <b><i>pyqt</i></b> it's necessary to have
124 <b><i>gcc, python</i></b>,<b><i>
125 qt</i></b> and
126 <b><i>sip</i></b> installed. Therefore all these products
127 will be marked when you check on
128 <b><i>pyqt</i></b>. This feature can be
129 switched off by clicking <i>"Auto set prerequisites products"</i> checkbox.
130 <br>Special button in the right part of the page - <i>"Unselect All" </i>-
131 allows to reset quickly all products to the <i>"not install"</i> state.
132 <br>If you want to use native Linux Red Hat 8.0 products (these are gcc,
133 tcl, Python, Qt, Sip and PyQt), select <i>"use native" </i>option.
134 <p>The box at the right side of the page displays the information about
135 currently highlighted product: name, version, required disk space, temporary
136 files disk space and list of prerequisites.
137 <center><a NAME="ProductPage"></a>
138 <br><img SRC="productpage.png" height=523 width=566>
139 <p><b>Figure 1:</b> "Installation settings" page in the advanced mode</center>
140
141 <p>The <i>"Total disk space required:"</i> field displays how much disk
142 space on the hard drive is required for installation of selected products.
143 <br><b>Note: </b>Please, take into account that displayed amount of required
144 disk space is approximate and may differ when you install products on your
145 hard drive.
146 <p>Installation procedure uses a special directory to store temporary files.
147 The <i>"Space for temporary files:"</i> field shows the information about
148 required disk space on the hard drive for extracting and compiling of the
149 selected products. You can change the default directory - just type path
150 to the folder you want to use or click on the corresponding <i>"Browse..."</i>
151 button.
152 <p>The installation procedure also checks available disk space on the selected
153 directories according to the products selected. If there is no enough disk
154 space on your hard drive you will see the corresponding error message box.
155 <p><b>Note: </b>Unfortunately, the configure procedure has a very annoying
156 bug under Linux platform. The directory should be obligatory entered without
157 spaces. For example, the configure procedure for <b><i>gcc</i></b> won't
158 work if you pass the following parameter: <i>--prefix="/New Folder 1"</i>.
159 <b>Therefore
160 you are strongly recommended not to use directory names containing spaces.</b>
161 <p>To proceed further click <i>"Next"</i> button. At this moment program
162 will make some tests to check installation settings: if there is enough
163 disk space on the hard drive, if native products are preinstalled, dependencies
164 (prerequisites) for each product you have selected to be&nbsp; installed.
165 If any test fails you will see corresponding warning message box. Otherwise
166 wizard will follow to the next page:
167 <center>
168 <p><a NAME="ChoicePage"></a>
169 <br><img SRC="choicepage.png" height=523 width=566><b></b>
170 <p><b>Figure 2:</b> "Check your choice" page</center>
171
172 <p>This page summarizes the installation settings you've made on the previous
173 pages. You can check again your choice to change it if necessary.
174 <br>When you are sure that everything is OK, press <i>"Next"</i> button
175 to follow to the <a href="#ProgressPage">next page</a>.
176 <center><a NAME="ProgressPage"></a>
177 <br><img SRC="progresspage.png" height=523 width=566><b></b>
178 <p><b>Figure 3:</b> "Installation progress" page</center>
179
180 <p>To start installation of the selected products click <i>"Start"</i>
181 button. It launches the shell installation script and you will be able
182 to see the output of the script in the topmost dialog's frame. In case
183 of any installation problems (for example, you have accidentally removed
184 the temporary directory) the script will ask you:
185 <i>"Would you like to
186 continue : (Y,N) ?"</i>. You can answer this question by typing [Y] or
187 [N] in the middle text edit control frame.
188 <br><b>Note:</b> press [Enter] when you finish typing data.
189 <p>The <i>"Installation Status"</i> frame window shows you the progress
190 of installation. It contains a list of all selected products with brief
191 descriptions. "<font color="#FF0000">Waiting</font>" description means
192 that installation of this product have not started yet. Currently installing
193 product is marked as "<font color="#FF9900">Processing</font>". All installed
194 products have "<font color="#33FF33">Completed</font>" description.
195 <p>You can abort installation and close the installation procedure using
196 <i>"Cancel"</i>
197 button. It sends the signal "SIGTERM" to the shell script. The script has
198 a signal handler and will try to clear all temporary files. The process
199 of removing temporary files can take some time, so the installation wizard
200 will wait 3 seconds before closing.
201 <p>At the end of installation (all selected products have been installed
202 successfully) you can go back to the previous pages to start a new installation
203 or click <i>"Next"</i> button to go the Readme page:
204 <center>
205 <p><a NAME="readmepage"></a>
206 <br><img SRC="readmepage.png" height=523 width=566>
207 <p><b>Figure 4:</b> "Finish installation" page</center>
208
209 <p>In this page you can read important information about the Instalation
210 Wizard itself and some hints: how to run and test SALOME or how to build
211 SALOME from the sources. This is the contents of the README file which
212 you can find in the root directory of the Installation Wizard.
213 <br>You can also launch SALOME Desktop from this page by clicking <i>"Launch
214 SALOME" </i>button.
215 <p>During the process of installation the script creates some environment
216 files to simplify procedure of launching SALOME. These shell scripts set
217 all necessary environment variables for all products you have installed.
218 To learn how installation scripts collects the environment, see&nbsp;<a href="#pick_up_env">
219 here</a>. These files are: <b>salome.csh</b> + <b>salome.sh</b> in the
220 <b><i>SALOME
221 PRO sources</i></b> and <b><i>SALOME PRO binaries</i></b> root directories
222 and <b>env_products.csh</b> + <b>env_products.sh
223 </b>in the target directory.
224 <p>
225 <hr>
226 <h3>
227 <a NAME="check_version_proc"></a>Notes on<font color="#FF0000"> check products
228 version</font> procedure</h3>
229 Unfortunately under Linux platform there is no exact algorithm to identify
230 the product's version. The table below contains the information relating
231 to checking preinstalled products for the Linux.RedHat 8.0 platform
232 <br>&nbsp;
233 <table BORDER WIDTH="100%" NOSAVE >
234 <tr NOSAVE>
235 <th NOSAVE>
236 <center><font size=+1>Product</font></center>
237 </th>
238
239 <th NOSAVE>
240 <center><font size=+1>Algorithm of checking</font></center>
241 </th>
242
243 <th NOSAVE>
244 <center><font size=+1>Preliminary steps before launching</font>
245 <br><font size=+1>of installation procedure</font></center>
246 </th>
247
248 <th NOSAVE>
249 <center><font size=+1>Notes</font></center>
250 </th>
251 </tr>
252
253 <tr>
254 <td>gcc 3.2</td>
255
256 <td>ver=`/usr/bin/gcc --version | grep 'gcc (GCC) .*' | cut -b 11-13`</td>
257
258 <td>
259 <center>-</center>
260 </td>
261
262 <td>ver should be equal 3.2
263 <br>It is recommended to use native gcc on Linux RedHat 8.0</td>
264 </tr>
265
266 <tr NOSAVE>
267 <td>tcl 8.3</td>
268
269 <td NOSAVE>existence of TCLHOME
270 <br>existence of tclsh8.3
271 <br>existence of wish8.3
272 <br>existence of libtcl8.3.so
273 <br>existence of libtk8.3.so
274 <br>existence of libtclx8.3.so
275 <br>existence of libtkx8.3.so</td>
276
277 <td>set TCLHOME if you have preinstalled version of tcl.
278 <br>set LD_LIBRARY_PATH on a directory where libs can be found.</td>
279
280 <td>It is recommended to use native tcl on Linux RedHat 8.0</td>
281 </tr>
282
283 <tr>
284 <td>Cascade 4.0</td>
285
286 <td>existence of CASROOT environment variable</td>
287
288 <td>set CASROOT if you have preinstalled version of CASCADE</td>
289
290 <td>Unfortunately we can't say anything exactly about CASCADE 4.0 and we
291 only check CASROOT environment variable. If you have problem with preinstalled
292 version of CASCADE reinstall it</td>
293 </tr>
294
295 <tr>
296 <td>Python 2.2.1</td>
297
298 <td>existence of PYTHONHOME
299 <br>isPython=`which python`
300 <br>ver=`python -V`</td>
301
302 <td>set PYTHONHOME to root Python folder
303 <br>set PATH on a directory where python can be found</td>
304
305 <td>Python should exist and ver should be equal to 2.2.1
306 <br>It is recommended to use native Python on Linux RedHat 8.0</td>
307 </tr>
308
309 <tr>
310 <td>Mesa 3.4.2</td>
311
312 <td>existence of libGL.so.1.2.030402</td>
313
314 <td>set LD_LIBRARY_PATH on a directory where libGL.so.1.2.030402 can be
315 found</td>
316
317 <td>You have a possibility to build products (vtk &amp; qt) with Mesa drivers
318 from the package supplied with this installation procedure or to use OpenGL
319 drivers installed on your computer locally. This check procedure concerns
320 only supplied Mesa driver.</td>
321 </tr>
322
323 <tr>
324 <td>Swig 1.3.17</td>
325
326 <td>isSwig=`which swig`
327 <br>ver=`swig -version`
328 <br>ver=`echo $ver | awk '{print $3}'`</td>
329
330 <td>set PATH on a directory where swig can be found</td>
331
332 <td>Swig should exist and ver should be equal to 1.3.17</td>
333 </tr>
334
335 <tr>
336 <td>Qt 3.0.5</td>
337
338 <td>existence of QTDIR
339 <br>existence of libqt-mt.so.3.0.5</td>
340
341 <td>set QTDIR if you have preinstalled version of qt</td>
342
343 <td>We try to find libqt-mt.so.3.0.5 in ${QTDIR}/lib folder.
344 <br>You should set MESA_HOME only if you have preinstalled version of Mesa
345 3.4.2.
346 <br>It is recommended to use native Qt on Linux RedHat 8.0</td>
347 </tr>
348
349 <tr>
350 <td>Qwt 0.4.1</td>
351
352 <td>existence of QWTHOME
353 <br>existence of libqwt.so.0.4.1</td>
354
355 <td>set&nbsp; QWTHOME if you have preinstalled version of qwt</td>
356
357 <td>We try to find libqwt.so.0.4.1 in the ${QWTHOME}/lib folder.&nbsp;</td>
358 </tr>
359
360 <tr>
361 <td>Hdf 5-1.4.4</td>
362
363 <td>existence of HDF5HOME
364 <br>existence of libhdf5.so.0.0.0
365 <br>existence of libhdf5.settings</td>
366
367 <td>set HDF5HOME if you have preinstalled version of hdf</td>
368
369 <td>We try to find libhdf5.so.0.0.0 and libhdf5.settings in ${HDF5HOME}/lib
370 folder.
371 <br>File libhdf5.settings should contain the following entry:
372 <br>HDF5 Version: 1.4.4</td>
373 </tr>
374
375 <tr>
376 <td>Med 2.1.6</td>
377
378 <td>existence of MED2HOME
379 <br>existence of libmed.so.0.0.0</td>
380
381 <td>set MED2HOME if you have preinstalled version of med</td>
382
383 <td>Unfortunately we can't check version number.
384 <br>We try to find libmed.so.0.0.0 in ${MED2HOME}/lib folder.
385 <br>If you have problem with preinstalled version of med reinstall it.</td>
386 </tr>
387
388 <tr>
389 <td>Vtk 4.2</td>
390
391 <td>existence of VTKHOME
392 <br>existence of libvtkCommon.so</td>
393
394 <td>set VTKHOME if you have preinstalled version of vtk</td>
395
396 <td>Unfortunately we can't check the version number.
397 <br>We try to find libvtkCommon.so in ${VTKHOME}/lib/vtk folder.
398 <br>If you have problem with preinstalled version of vtk reinstall it.</td>
399 </tr>
400
401 <tr>
402 <td>OmniORB 3.0.5,
403 <br>OmniORBpy 1.5,
404 <br>OmniNotify 1.2</td>
405
406 <td>existence of OMNIORBDIR
407 <br>existence of libomniORB3.so.0.5
408 <br>existence of _omnipymodule.so.0.5
409 <br>existence of libCOSNotify3.so.0.5
410 <br>existence of notifd
411 <br>existence of THIS_IS_omniORB_3_0_5
412 <br>existence of THIS_IS_omniNotify_1_2
413 <br>existence of THIS_IS_OMNIORBPY_1_5</td>
414
415 <td>set OMNIORBDIR if you have preinstalled version of omni</td>
416
417 <td>We try to find libomniORB3.so.0.5, _omnipymodule.so.0.5 and libCOSNotify3.so.0.5
418 in ${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1 folder.
419 <br>We try to find notifd in ${OMNIORBDIR}/bin/i586_linux_2.0_glibc2.1
420 folder.
421 <br>Additional checking - omni add special files THIS_IS_...
422 <br>We try to find THIS_IS_omniORB_3_0_5 in ${OMNIORBDIR} folder.
423 <br>We try to find THIS_IS_omniNotify_1_2 in ${OMNIORBDIR}/src/services/omniNotify.
424 <br>We try to find THIS_IS_OMNIORBPY_1_5 in ${OMNIORBDIR}/src/lib/omniORBpy
425 folder.</td>
426 </tr>
427
428 <tr>
429 <td>Numeric 22.0</td>
430
431 <td>existence of Numeric folder
432 <br>existence of _numpy.so</td>
433
434 <td>set PYTHONHOME if you have preinstalled version of python</td>
435
436 <td>Unfortunately we can't check the version number.
437 <br>We try to find Numeric folder in ${PYTHONHOME}/lib/python2.2/site-packages/Numeric
438 folder.
439 <br>If you have problem with preinstalled version of numeric 22.0 reinstall
440 it.</td>
441 </tr>
442
443 <tr>
444 <td>Sip 3.3.2</td>
445
446 <td>existence of SIPDIR
447 <br>existence of sip
448 <br>existence of libsip.so.9.1.0</td>
449
450 <td>set SIPDIR to directory where you have sip preinstalled</td>
451
452 <td>We try to find sip and libsip.so.9.1.0 in $SIPDIR folder if you set
453 SIPDIR , otherwise searching is done using $PATH and $LD_LIBRARY_PATH accordingly.
454 <br>It is recommended to use native Sip on Linux RedHat 8.0</td>
455 </tr>
456
457 <tr>
458 <td>PyQt 3.3.2</td>
459
460 <td>existence of PYQTDIR
461 <br>existence of libqtxmlcmodule.so.1.0.0</td>
462
463 <td>set PYQTDIR to directory where you have sip preinstalled</td>
464
465 <td>Unfortunately we can't check the version number.
466 <br>We try to find libqtxmlcmodule.so.1.0.0 in $PYQTDIR folder if you set
467 PYQTDIR, otherwise searching is done using $LD_LIBRARY_PATH .
468 <br>If you have problem with preinstalled version of PyQt 3.3.2 reinstall
469 it.
470 <br>It is recommended to use native PyQt on Linux RedHat 8.0</td>
471 </tr>
472
473 <tr>
474 <td>HappyDoc 2.1</td>
475
476 <td>existence of happydoc
477 <br>ver=`happydoc | grep "HappyDoc version 2.1"`</td>
478
479 <td>set PYTHONHOME if you have preinstalled version of python</td>
480
481 <td>We try to find happydoc in $PYTHONHOME/bin folder.
482 <br>ver should not be empty.
483 <br>This product is not obligatory. It was added only for your comfort.</td>
484 </tr>
485
486 <tr>
487 <td>Doxygen 1.3-rc2</td>
488
489 <td>existence of doxygen
490 <br>existence of doxysearch
491 <br>existence of doxytag
492 <br>existence of doxywizard</td>
493
494 <td>set QTDIR if you have preinstalled version of qt
495 <br>set PATH on a directory where doxygen, doxysearch, doxytag and doxywizard
496 can be found</td>
497
498 <td>Unfortunately we can't check the version number.
499 <br>It's necessary to have compiled Qt in order to build doxywizard.
500 <br>If you have problem with preinstalled version of doxygen 1.3-rc2 reinstall
501 it.
502 <br>This product is not obligatory. It was added only for your comfort.</td>
503 </tr>
504
505 <tr>
506 <td>Graphviz 1.9</td>
507
508 <td>existence of dot</td>
509
510 <td>add GraphViz's bin directory to the PATH environment variable</td>
511
512 <td>Unfortunately we can't check the version number.
513 <br>We try to find dot program in the $PATH</td>
514 </tr>
515
516 <tr>
517 <td>SALOME PRO binaries</td>
518
519 <td>existence of SALOME_ROOT_DIR
520 <br>existence of VERSION file
521 <br>ver=`cat $SALOME_ROOT_DIR/bin/VERSION | awk -F: '{print $2}' | tr -d
522 '[:space:]'`</td>
523
524 <td>set SALOME_ROOT_DIR if you have preinstalled binaries of SALOME PRO
525 version 1.2d</td>
526
527 <td>SALOME PRO binaries should exist and ver should be equal to 1.2d</td>
528 </tr>
529
530 <tr>
531 <td>SALOME PRO sources</td>
532
533 <td>existence of SALOMEPRO_SRC
534 <br>existence of VERSION file
535 <br>ver=`cat $SALOMEPRO_SRC/bin/VERSION | awk -F: '{print $2}' | tr -d
536 '[:space:]'`</td>
537
538 <td>set SALOMEPRO_SRC if you have preinstalled sources of SALOME PRO version
539 1.2d</td>
540
541 <td>SALOME PRO sources should exist and ver should be equal to 1.2d</td>
542 </tr>
543 </table>
544
545 <p>Note: For native products installation procedure sets proper environment
546 variables itself, and you do not need to set such variables like, e.g.
547 <b>TCLHOME</b>
548 or <b>PYTHONHOME</b>.
549 <br>If you have native products installed to different from default directories
550 (not <b>/usr/bin</b>, <b>/usr/lib</b>...), it is recommended to follow
551 above description. Or you should set properly $PATH and $LD_LIBRARY_PATH
552 variables <b><font color="#FF0000">before</font></b> starting Installation
553 Wizard. Otherwise installation script will fail to find preinstalled products.
554 <h3>
555
556 <hr></h3>
557
558 <h3>
559 <a NAME="pick_up_env"></a>Pick up the <font color="#FF0000">environment</font></h3>
560 Please, read carefully the following information. This section describes
561 how the installation procedure collects environment.
562 <p>After installing each product shell script creates in the product root
563 folder special environment file. The name of the file is generated from
564 the name of product by the following scheme: <b>env_&lt;product_name>.sh.</b>
565 This file includes all necessary product settings. For example for Vtk
566 the file is <b>env_Vtk.sh</b>. Environment files allows to pick up all
567 environment settings which are necessary to build and launch SALOME. When
568 installing SALOME sources and/or binaries, installation procedure picks
569 up all the settings files and generate two scripts: <b>salome.sh</b> and
570 <b>salome.csh
571 </b>for
572 sh and csh correspondingly. Such approach helps to save time when reinstalling
573 products and you may not to care about setting all environment variables
574 manually to build/launch SALOME. What you need is just to use one of these
575 scripts.
576 <p>This concerns also those products which are not currently installed.
577 For example, you install some SALOME binaries to the directory where you
578 have previously installed other products.&nbsp; Installation procedure
579 still tries to collect environment files from the target directory if it
580 find necessary products there. If some product is not found in the target
581 directory the corresponding section of <b>salome.sh/salome.csh</b> files
582 will be skipped.
583 <br>For native products (<i><b>gcc, tcl, python, qt, sip, pyqt </b>for
584 RedHat-8.0<b>)</b></i> instal script tries to find them using <b>$PATH</b>
585 / <b>$LD_LIBRARY_PATH</b> variables and then in the system default directories
586 (<b>/usr/bin, /usr/lib</b> etc., depending on the product).
587 <p>In any case you may edit <b>salome.*</b> files after installation procedure
588 finishes, as you want.
589 <p>
590 <hr>
591 <h3>
592 <a NAME="xml_files"></a>Modifying <font color="#FF0000">XML</font> configuration
593 <font color="#FF0000">file</font></h3>
594 <font color="#000000">You can create your own configuration. Installation
595 Wizard then can take it as command line argument to provide list of products
596 you want to install with it. The list of products and some another settings
597 for the Installation Wizard are provided in xml file. The default file
598 which Installation Wizard looks for if no command line arguments ar given,
599 is
600 <b>config.xml</b>. This section describes the format of configuration
601 file.</font>
602 <br><font color="#000000">Xml tags are in bold blue, optional sections/tags
603 are in brackets.</font>
604 <p><b><font color="#000099">&lt;document></font></b>
605 <br><font color="#000000"><b>&nbsp;&nbsp;&nbsp; </b>[</font><b><font color="#000099">&lt;config</font></b><font color="#000000">
606 [version=&lt;install_wizard_version>]</font>
607 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
608 [caption=&lt;install_wizard_caption>]</font>
609 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
610 [copyright=&lt;install_wizard_copyright>]</font>
611 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
612 [license=&lt;install_wizard_license_info>]</font>
613 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
614 [os=&lt;target_paltform>]</font><b><font color="#000099">/></font></b><font color="#000000">]</font>
615 <br><font color="#000000"><b>&nbsp;&nbsp;&nbsp; </b>[</font><b><font color="#000099">&lt;path</font></b><font color="#000000">
616 [targetdir=&lt;target_directory>]</font>
617 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
618 [tempdir=&lt;temp_directory>]</font><b><font color="#000099">/></font></b><font color="#000000">]</font>
619 <br><font color="#000000">&nbsp;&nbsp;&nbsp; [</font><b><font color="#000099">&lt;product</font></b><font color="#000000">
620 name=&lt;product_name></font>
621 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
622 version=&lt;product_version></font>
623 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
624 install=&lt;installation_mode></font>
625 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
626 supported=&lt;supported_installation_modes></font>
627 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
628 disable=&lt;disable_flag></font>
629 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
630 dependancies=&lt;list_of_prerequisites></font>
631 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
632 installdiskspace=&lt;install_disk_space></font>
633 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
634 temporarydiskspace=&lt;tmp_disk_space></font>
635 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
636 script=&lt;installation_script_name></font><font color="#000099">/<b>></b></font><font color="#000000">]</font>
637 <br><font color="#000000">&nbsp;&nbsp;&nbsp; [</font><b><font color="#000099">&lt;product</font></b><font color="#000000">
638 ... </font><font color="#000099">/<b>></b></font><font color="#000000">]</font>
639 <br><font color="#000000">&nbsp;&nbsp;&nbsp;<b> .</b></font><b><font color="#000099">..</font></b>
640 <br><b><font color="#000099">&lt;/document></font></b>
641 <h4>
642 <font color="#000000">&lt;config> section</font></h4>
643 <font color="#000000">This is optional section - contains general information
644 Installation Wizard itself.</font>
645 <ul>
646 <li>
647 <font color="#000000"><b>version</b>: Installation Wizard's version number;</font></li>
648
649 <li>
650 <font color="#000000"><b>caption</b>: Installation Wizard's main window
651 title - if this string contains '%1' text - the title will contain in this
652 place version number (see above);</font></li>
653
654 <li>
655 <font color="#000000"><b>copyright</b>: Installation Wizard's copyright
656 information (appears on the first page of program);</font></li>
657
658 <li>
659 <font color="#000000"><b>license</b>: Installation Wizard's license information
660 (appears on the first page of program);</font></li>
661
662 <li>
663 <font color="#000000"><b>os</b>: Contains directory name (relative from
664 ./Products/BINARIES) where Installation Wizard should search precompiled
665 binaries packages. If this tag is skipped, binaries are implied to be in
666 the ./Products/BINARIES directory.</font></li>
667 </ul>
668
669 <h4>
670 <b><font color="#000000">&lt;path> section</font></b></h4>
671 This is optional section - contains default directories.
672 <ul>
673 <li>
674 <font color="#000000"><b>targetdir</b>: Starting target directory - path
675 to the directory where products should be installed;</font></li>
676
677 <li>
678 <font color="#000000"><b>tempdir</b>: Starting temp directory - path to
679 the directory for the temporary files.</font></li>
680 </ul>
681
682 <h4>
683 <b>&lt;product> section</b></h4>
684 This section describes product to be installed with the Installation Wizard.
685 All tags are obligatory. Products appears in the products tree and are
686 installed in the order they are described in the configuration file. It
687 is recommended to insert native products at the top of the list before
688 all other products.
689 <ul>
690 <li>
691 <font color="#000000"><b>name</b>: Name of the product;</font></li>
692
693 <li>
694 <font color="#000000"><b>version</b>: Version of the product;</font></li>
695
696 <li>
697 <font color="#000000"><b>supported</b>: Supported modes of installation,
698 should contain one or more of the following options, separated by comma:
699 <i>install
700 sources</i>, <i>install binaries</i>, <i>use native</i>. Installation script
701 should contain corresponding functions for each of supported installation
702 modes;</font></li>
703
704 <li>
705 <font color="#000000"><b>install</b>: Default (starting) installation mode;</font></li>
706
707 <li>
708 <font color="#000000"><b>disable</b>: If this flag has 'true' value, corresponding
709 product will not appear in the list of products tree and will not be installed;</font></li>
710
711 <li>
712 <font color="#000000"><b>dependancies</b>: list of prerequisite products,
713 which are necessary to build this product, separated by comma;</font></li>
714
715 <li>
716 <font color="#000000"><b>installdiskspace</b>: Total amount space (integer,
717 in Kbytes), which product occupies on the hard drive after the installation;</font></li>
718
719 <li>
720 <font color="#000000"><b>temporarydiskspace</b>: Disk space (integer, in
721 Kbytes) for the temporary files, which is necessary to build the product
722 from the sources;</font></li>
723
724 <li>
725 <font color="#000000"><b>script</b>: Installation script name. This script
726 is in charge of installation of the product. It is called when necessary
727 from the main program. See <a href="#new_products">next section</a> for
728 more information.</font></li>
729 </ul>
730 <b>Note:</b> If you add new products to be installed with Installation
731 Wizard, you should also provide installation script for this product. See
732 next section for more details.
733 <p>
734 <hr>
735 <h3>
736 <a NAME="new_products"></a>Implementing <font color="#FF0000">installation
737 scripts</font> for the new products</h3>
738 When you want some product to be installed with the Installation Wizard,
739 you should add it's description it <a href="#xml_files">in the configuration
740 file</a> and create bash installation script, following described in this
741 section rules.
742 <br>There are some obligatory functions to be provided in this installation
743 script. These functions are automatically called by master installation
744 script or/and GUI shell when it is necessary.
745 <ul>
746 <li>
747 <b>check_version()</b>:&nbsp; This function allows to check the version
748 of the product already installed on the computer. It should try to find
749 product (native or preinstalled in the target directory) and check it version.
750 This helps to avoid unnecessary reinstallation. This is internal function
751 and is not called</li>
752
753 <li>
754 <b><font color="#000000">try_native()</font></b><font color="#000099">:
755 </font><font color="#000000">This
756 function is called when <i>'use native' </i>installation mode is selected
757 by the user. The function should try to find native version of the product
758 and define possibility of it usage. Should create environment for the product
759 in the temporary directory (see also description of <b>print_env(</b>)
760 function). If you do not provide native mode installation, you can omit
761 this function.</font></li>
762
763 <li>
764 <font color="#000000"><b>install_source()</b>: This function is called
765 when <i>'install sources</i>' installation mode is selected by the user.
766 The function is responsible for the building of the product from the sources
767 package. Should create environment for the product in the temporary directory
768 (see also description of <b>print_env(</b>) function). If you do not provide
769 sources mode installation, you can omit this function</font></li>
770
771 <li>
772 <font color="#000000"><b>install_binary()</b>: This function is called
773 when <i>'install binaries'</i> installation mode is selected by the user.
774 The function is responsible for the extracting of the product from the
775 binaries package. Should create environment for the product in the temporary
776 directory (see also description of <b>print_env(</b>) function). If you
777 do not provide binaries mode installation, you can omit this function.</font></li>
778
779 <li>
780 <b>try_preinstalled()</b>: <font color="#000000">This function is called
781 when<i> 'not install'</i> installation mode is selected by the user. In
782 this case script should inspect target directory to try to find already
783 preinstalled product, pick up and check environment from there. See <a href="#pick_up_env">here</a>
784 for more details.</font></li>
785
786 <li>
787 <font color="#000000"><b>print_env()</b>: This function is in charge of
788 creation environment script. It should create file with name </font><b>env_&lt;product_name>.sh</b>
789 in the temporary directory and then copy it into the product installation
790 directory. The file should contain all necessary environment variables
791 settings for the product. It will be collected during the 'pick-up-environment'
792 procedure.</li>
793 </ul>
794 <font color="#000000">The calling signature of the product installation
795 script is following:</font>
796 <br><b><font color="#000000">&lt;product_script_name> &lt;function_name>
797 &lt;temp_folder> &lt;products_directory> &lt;target_directory> &lt;dependancies>
798 &lt;product_name></font></b>
799 <p><font color="#000000">where</font>
800 <br><font color="#000000"><b>&lt;product_script_name></b> - installation
801 script name (described in configuration xml file);</font>
802 <br><font color="#000000"><b>&lt;function_name></b> - the name of function,
803 corresponding to the selected installation mode: <i>try_native, install_source,
804 install_binary</i> or <i>try_preinstalled</i>;</font>
805 <br><font color="#000000"><b>&lt;temp_folder></b> - temporary files directory;</font>
806 <br><font color="#000000"><b>&lt;products_directory></b> - directory where
807 the sources/binaries package can be found. You should provide sources package
808 in the <i>&lt;Install_Wizard_root_directory>/Products/SOURCES</i> directory
809 and binaries package&nbsp; in the <i>&lt;InstallWizard_root_directory>/Products/BINARIES/&lt;os_version></i>,
810 where &lt;os_version> is target platform description, which appears in
811 the corresponding section of the <a href="#xml_files">configuration xml
812 file</a>.</font>
813 <br><font color="#000000"><b>&lt;target_directory></b> - root target directory
814 where product should be installed to;</font>
815 <br><font color="#000000"><b>&lt;dependancies></b> - single-quoted list
816 of prerequisite products, separated by space;</font>
817 <br><font color="#000000"><b>&lt;product_name> </b>- product name itself.</font>
818 <p><font color="#000000">Example:</font>
819 <br><i><font color="#000000">med-2.1.6.sh install_binary /tmp/work ./Products/BINARIES/RedHat8.0
820 /usr/salome 'gcc Hdf' med</font></i>
821 <p><font color="#000000">Copy created script into the <i>&lt;Install_Wizard_root_directory>/config_files</i>
822 sub-directory. File <b>common.sh</b> contains some service functions which
823 can be used in your installation script.</font>
824 <p>
825 <hr>
826 </body>
827 </html>