Salome HOME
Update copyright notes
[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"
5  content="text/html; charset=iso-8859-1">
6   <meta name="GENERATOR"
7  content="Mozilla/4.8 [en] (X11; U; Linux 2.4.18-14 i686) [Netscape]">
8   <meta name="Author"
9  content="Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)">
10   <meta name="Copyright" content="2002-2006 CEA">
11   <title>SALOME Installation Wizard Help</title>
12 </head>
13 <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 229);"
14  alink="#ff0000" link="#0000ee" vlink="#551a8b">
15 &nbsp;
16 <center>
17 <table nosave="" width="100%">
18   <tbody>
19     <tr nosave="">
20       <td nosave="">
21       <h1><a href="http://www.opencascade.com"><img src="logocorp.png"
22  border="0" height="47" width="139"> </a></h1>
23       </td>
24       <td>
25       <center>
26       <h3><font size="+4"><font color="#000099">SALOME Installation
27 Wizard Help</font></font></h3>
28       </center>
29       </td>
30       <td>
31       <div align="right"><a href="http://www.opencascade.org/SALOME/"><img
32  src="application.png" border="0" height="47" width="109"> </a></div>
33       </td>
34     </tr>
35   </tbody>
36 </table>
37 </center>
38 <div align="right"><b><font color="#000099">updated for the version </font><font
39  color="#ff0000">3.2.0</font></b></div>
40 <hr>
41 <ul>
42   <li> <a href="#install_from_wizard">Installing products with the
43 Installation Wizard<br>
44     </a></li>
45   <ul>
46     <li><a href="#gui_mode">GUI mode</a></li>
47     <li><a href="#batch_mode">Batch mode</a></li>
48     <li><a href="#env_files">Environment files</a><br>
49     </li>
50   </ul>
51   <li> <a href="#check_version_proc">Notes on check products version
52 procedure</a></li>
53   <li> <a href="#pick_up_env">Pick up the environment</a></li>
54   <li> <a href="#xml_files">Modifying XML configuration file</a></li>
55   <li> <a href="#new_products">Implementing installation scripts for
56 the new products</a></li>
57   <li> <a href="#finish_buttons">Customizing Readme page buttons</a></li>
58 </ul>
59 <h3>
60 <hr></h3>
61 <h3> <a name="install_from_wizard"></a>Installing products with the <font
62  color="#ff0000">Installation Wizard</font></h3>
63 The Installation Wizard can be launched in two modes: <span
64  style="font-weight: bold;">GUI </span>and <span
65  style="font-weight: bold;">batch</span>. <br>
66 The root directory of the Installation Wizard
67 contains Python script <span style="font-weight: bold;">runInstall</span>.
68 To run the Installation Wizard just type <b>runInstall</b> in the
69 terminal
70 window:<span style="font-weight: bold;"></span><span
71  style="font-weight: bold;"></span>
72 <p>[ python ] <b>runInstall </b>[options]<b><br>
73 </b></p>
74 <p>Without options this script will launch the SALOME Installation
75 Wizard in the default mode (GUI).<br>
76 The default mode can be overriden by using command line options. Each
77 option has short and long notations:<br>
78 </p>
79 <p><b>-g / --gui</b><br>
80 </p>
81 <div style="margin-left: 40px;">Runs the Installation Wizard in the
82 GUI
83 mode (this is default mode).<br>
84 </div>
85 <p><b>-b / --batch</b><br>
86 </p>
87 <div style="margin-left: 40px;">Runs the Installation Wizard in
88 command-line mode. <br>
89 </div>
90 <p><b>-f FILE / --file=</b><span style="font-weight: bold;">FILE<br>
91 </span></p>
92 <div style="margin-left: 40px;">The XML configuration file to be used
93 by
94 the
95 Installation Wizard.&nbsp; If this option is not used then the
96 installation script
97 tries
98 to define the <i>Linux </i>version and use the corresponding XML file
99 if it is present.
100 For
101 examle, for the <span style="color: rgb(0, 0, 153);">Linux Mandrake
102 10.1</span>&nbsp; the <b>config_Mandrake_10.1.xml</b>&nbsp;
103 file
104 will be used by default. If the appropriate file is not
105 found, the file <b>config.xml</b> will be used. This file refers to
106 the basic target platform
107 which is <span style="color: rgb(0, 0, 153);">Linux Mandrake 10.1</span>
108 for SALOME 3.0 and newer. If <span style="font-weight: bold;">config.xml</span>
109 file is
110 also not found, the warning message box is shown (in GUI mode) or
111 printed to the console (in batch mode) and the Installation Wizard
112 quits.<br>
113 </div>
114 <p> <b>-d DIR / --target=DIR</b><br>
115 </p>
116 <div style="margin-left: 40px;">The target directory SALOME platform
117 to
118 be installed to. If used, this option overrides the default target
119 directory, given in
120 the
121 configuration XML file (usually<span style="font-weight: bold;">
122 ${HOME}/salome_&lt;version&gt;</span>,
123 see
124 <a href="#xml_files">here</a> for more detail). <br>
125 </div>
126 <p><b>-t DIR / --tmp=DIR </b></p>
127 <div style="margin-left: 40px;">The directory, which is used for
128 temporary files. If used, this option overrides the default temporary
129 directory,
130 given in the
131 configuration xml file (usually <span style="font-weight: bold;">/tmp</span><span
132  style="font-weight: bold;"></span>, see <a
133  href="readme.html#xml_files">here</a> for more detail).<br>
134 </div>
135 <p><b>-h / --help</b><br>
136 </p>
137 <div style="margin-left: 40px;">Prints help information about available
138 options. <br>
139 </div>
140 <p></p>
141 <p>
142 <b>-v / --version</b><br>
143 </p>
144 <div style="margin-left: 40px;">Prints version information (<span
145  style="font-weight: bold;">Note: </span>this is the
146 Installation Wizard's version number, not of SALOME platform). <br>
147 </div>
148 <p>
149 </p>
150 <p>The installation procedure supports different <span
151  style="color: rgb(0, 0, 153);">Linux
152 </span>platforms
153 and installs various installation 3d-party prerequisite products which
154 are required by SALOME platform. As it was mentioned above, the basic
155 target platform for SALOME 3.0 and newer is <span
156  style="color: rgb(0, 0, 153);">Linux Mandrake 10.1</span>.<br>
157 The using of configuration XML files gives flexible way to modify the
158 list of products to be installed by the Installation Wizard without
159 changing program's source code. Just create your own XML configuration
160 file
161 and implement installation scripts for the prerequisite products you
162 need and then use this XML file with the Installation Wizard. This can
163 be done, for example, for some <span style="color: rgb(0, 0, 153);">Linux
164 </span>platform which is not supported directly by the Installation
165 Wizard. See <a href="#xml_files">Modifying XML configuration file</a>
166 and <a href="#new_products">Implementing installation scripts for the
167 new products</a> sections for more information. </p>
168 <h3 style="margin-left: 40px;"> <a name="gui_mode"></a>GUI mode<br>
169 </h3>
170 <p>The <font color="#ff0000">Installation Wizard</font>'s GUI wizard
171 was developed
172 with
173 using of the <span style="color: rgb(0, 0, 153);">Trolltech's </span><span
174  style="font-weight: bold;"><span style="color: rgb(0, 0, 153);">Qt
175 3.0.5</span> </span>toolkit. After launching the Installation Wizard
176 in the GUI mode the wizard window is shown to the user. This wizard
177 guides the user through several subsequent pages. To navigate between
178 the pages use <i>"Next"</i> and <i>"Back"</i>
179 buttons in the
180 lower part of the wizard window. <i>"Cancel"</i> button closes the
181 wizard
182 window&nbsp;and quits the installation procedure after user's
183 confirmation. <i>"Help"</i> button opens an additional window to show
184 the help information . </p>
185 <p>The first "<span style="font-style: italic;">Introduction"</span>
186 page is shown at the <a href="#IntroPage">Figure 1</a>. Skip this page
187 by pressing <i>"Next"</i>
188 button:
189 </p>
190 <center><a name="IntroPage"></a><br>
191 <img alt="Intro page" src="intropage.png"
192  style="width: 586px; height: 347px;">
193 <p><b>Figure 1:</b> "Introduction" page</p>
194 </center>
195 <p>In the second page you are proposed to enter the target directory
196 where the SALOME platform should be installed to. You can also press <i>"Browse..."</i>
197 button and choose the destination folder using standard browse
198 directory dialog box. <br>
199 If the directory you want to install products does not exist you will
200 be prompted to confirm directory creation. If you type wrong directory
201 path, or if you have no permission for the directory you use, the
202 corresponding message box will be shown.<br>
203 </p>
204 <p>In GUI mode the Installation Wizard provides two different options
205 to install the SALOME platform: <span style="font-weight: bold;">basic</span>
206 (which is default) and
207 <span style="font-weight: bold;">advanced.</span> In the <span
208  style="font-weight: bold;">basic</span> mode the
209 user should enter only the target installation
210 directory. All other installation options are taken from the XML
211 configuration file (see <a href="#Product_page1">Fig.2</a>):<br>
212 </p>
213 <center><a name="Product_page1"></a><br>
214 <img alt="Intro page" src="productpage1.png"
215  style="width: 586px; height: 347px;">
216 <p><b>Figure 2:</b> "Installation settings"
217 </p></center>
218 <p>To switch to the <span style="font-weight: bold;">advanced</span>
219 option, click <i>"More..."</i> button (see <a href="#ProductPage2">Fig.3</a>
220 ).</p>
221 <p>In the advanced mode you have the possibility to select products to
222 be installed. Each product can
223 have several options of installation: you have a possibility to use
224 native product (provided with Linux distribution and installed in the
225 system folders), install already precompiled binaries, build product
226 from the sources or not install it at all. Possible options and default
227 option are taken from the XML configuration file. You can mark the
228 products you want to install by clicking the corresponding
229 radiobuttons in the list view in the left part of the page. <br>
230 Note, that
231 some products can be installed only together with other products (or
232 these prerequisite products should be already installed on your
233 computer). The installation procedure
234 has a special feature to automatically mark these products in the list
235 view.
236 For example, in order to install <b><i>PyQt</i></b> it's necessary to
237 have
238 <b><i>gcc, Python</i></b>,<b><i> Qt</i></b> and <b><i>Sip</i></b>
239 installed.
240 Therefore all these products will be also turned on when you check on <b><i>PyQt</i></b>.
241 This feature can be switched off by clicking <i>"Auto set
242 prerequisites products"</i> checkbox. Turn on this checkbox if you
243 want all prerequisite products to be automatically checked when you
244 select some product to be installed. Turn off this checkbox if you
245 want to disable this feature.<br>
246 </p>
247 <center><a name="ProductPage2"></a><br>
248 <img src="productpage.png" alt="Products page"
249  style="width: 586px; height: 544px;">
250 <p><b>Figure 3:</b> "Installation settings" page in the 'advanced' mode</p>
251 </center>
252 <p>If you want to use native products (like <span
253  style="font-weight: bold;">gcc</span>, <span
254  style="font-weight: bold;">tcl</span>, etc.), select <i>"use native" </i>option.
255 <br>
256 Special button in the right part of the page - <i>"Unselect All" </i>-
257 allows to reset quickly all products to the <i>"not install"</i>
258 state. <br>
259 </p>
260 <p>There are also two checkboxes on this page: <i>"SALOME sources"</i>
261 and <i>"SALOME binaries"</i>.
262 These three-state checkboxes allow quick selecting/unselecting SALOME
263 modules sources/binaries packages
264 for the installation.</p>
265 <p>The box at the right side of the page displays the information about
266 currently highlighted product: name, version and short description,
267 required
268 disk space, disk space required for temporary files, list of
269 prerequisites (this information is
270 provided in the XML file) and current user
271 choice.
272 </p>
273 The <i>"Total disk space required:"</i> field displays how much
274 disk space on the hard drive is required for installation of selected
275 products. <br>
276 <p><b>Note: </b>Please, take into account that displayed amount of
277 required disk space is approximate and may differ when you install
278 products on your hard drive. </p>
279 <p>The installation procedure uses a special directory to store
280 temporary files. The <i>"Space for temporary files:"</i> field shows
281 the information about required disk space on the hard drive for
282 extracting and compiling of the selected products. You can change the
283 temporary directory - just type path
284 to the folder you want to use or click on the corresponding <i>"Browse..."</i>
285 button. <br>
286 <span style="font-weight: bold;">Note:</span> actually, temporary files
287 are stored not directly in the directory entered by user. The
288 Installation
289 Wizard creates in this directory an additional folder named
290 something like INSTALLWORK<span style="font-weight: bold;">XXXXX</span>
291 where XXXXX is unique number. This allows to launch several
292 Installation Wizards simultaneously. This temporary directory is
293 removed automaticaly when the installation finishes.<br>
294 </p>
295 <p>The installation procedure also checks available disk space. If
296 there is no
297 enough disk space on your hard drive you will see the corresponding
298 error message box. </p>
299 <p><b>Note: </b>Unfortunately, the configure procedure has a very
300 annoying bug under Linux platform. The directory should be obligatory
301 entered without spaces. For example, the configure procedure for <b><i>gcc</i></b>
302 won't
303 work if you pass the following parameter: <i>--prefix="/New Folder 1"</i>.
304 <b>Therefore you are strongly recommended not to use directory names
305 containing
306 spaces.</b> </p>
307 <p>To proceed further click <i>"Next"</i> button. At this moment
308 program
309 will make some tests to check installation settings: if there is enough
310 disk
311 space on the hard drive, check for native products installation,
312 dependencies
313 (prerequisites) for each product you have selected to be
314 installed.
315 If any test fails you will see the corresponding warning message box.
316 Otherwise
317 the wizard will proceed to the next page: </p>
318 <center>
319 <a name="ChoicePage"></a><br>
320 <img src="choicepage.png" alt="Choice page"
321  style="width: 586px; height: 544px;">
322 <p><b>Figure 4:</b> "Check your choice" page</p>
323 </center>
324 <p>This page summarizes the installation options you've made on the
325 previous pages. You can check again your choice and change it if
326 necessary by getting back to previous page. <br>
327 When you are sure that everything is OK, press <i>"Next"</i> button to
328 follow to the <a href="#ProgressPage">next page</a>. </p>
329 <center><a name="ProgressPage"></a><br>
330 <img alt="Progress page" src="progresspage1.png"
331  style="width: 586px; height: 366px;"><br>
332 <p><b>Figure 5:</b> "Installation progress" page</p></center>
333 <div style="text-align: left;">To start installation of the selected
334 products click <i>"Start"</i>
335 button. It launches the shell installation script and you will be able
336 to see the output of the script in the topmost dialog's frame. If any
337 errors
338 occur during the installation progress the corresponding messages
339 will be printed to the log window in the bold red font.<br>
340 </div>
341 <div style="text-align: left;">It is possible at any time to break the
342 installation by pressing <span style="font-style: italic;">"Stop"</span>
343 button. Then you can get back to the previous pages if you wish to
344 change installation settings or restart installation by pressing again <span
345  style="font-style: italic;">"Start"</span> button.<br>
346 </div>
347 <p style="text-align: left;"><span style="font-weight: bold;">Note:</span>
348 in the current
349 implementation it is not possible to resume stopped installation
350 process; it will be re-started from the very beginning. <br>
351 </p>
352 <center><a name="ProgressPage1"></a><br>
353 <img alt="Progress page" src="progresspage.png"
354  style="width: 586px; height: 366px;">
355 <p><b>Figure 6:</b> "Installation progress" page: installation in
356 progress</p></center>
357 <p>The <i>"Installation Status"</i> frame window shows you the
358 progress of installation. "<font color="#ff0000">Waiting</font>" status
359 means that installation of this product has not been started
360 yet. The product currently being installed is marked as "<font
361  color="#ff9900">Processing</font>".
362 All installed products have "<font color="#33ff33">Completed</font>"
363 status. </p>
364 <p>You can abort installation and close the installation procedure
365 using
366 <i>"Cancel"</i> button. <br>
367 <span style="font-weight: bold;">Note:</span> this button sends the
368 signal "SIGTERM" to the shell
369 script.
370 The script tries to clear all temporary
371 files.
372 The process of removing temporary files can take some time, so the
373 installation
374 wizard will wait 3 seconds before closing. </p>
375 <p>At the end of installation (all selected products have been
376 installed
377 successfully) you can go back to the previous pages to start a new
378 installation
379 or click <i>"Next"</i> button to go the Readme page: </p>
380 <center>
381 <a name="readmepage"></a><br>
382 <img alt="Read page" src="readmepage.png"
383  style="width: 586px; height: 486px;">
384 <p><b>Figure 7:</b> "Finish installation" page</p>
385 </center>
386 <p>In this page you can read important information about the
387 Instalation Wizard itself and some tips: how to run and test SALOME or
388 how to build SALOME from the sources. This is the contents of the
389 README file which you can find in the root directory of the
390 Installation Wizard. <br> You can also launch SALOME Desktop from this
391 page or read Release Notes file by clicking on the corresponding
392 buttons in the lower part of the page (see <a href="#xml_files">here</a>
393 and <a href="#finish_buttons">here</a> for more information about
394 customizing these buttons).<br></p>
395 <h3 style="margin-left: 40px;"> <a name="batch_mode"></a>Batch mode<br>
396 </h3>
397 To launch the Installation Wizard in the batch mode use <span
398  style="font-weight: bold;">-b</span>
399 (<span style="font-weight: bold;">--batch</span>) parameter.<br>
400 In this mode the GUI wizard is not shown but all the installation
401 status is displayed directly in the console. In the batch mode user do
402 not have a possibility to change installation settings which are given
403 in the configuration file, except target and temporary directories
404 which can be overridden by the corresponding command line options (see <a
405  href="#install_from_wizard">here</a>).<br>
406 <center><a name="BatchMode"></a><br>
407 <img alt="Batch mode" src="batchmode.png"
408  style="width: 687px; height: 453px;">
409 <p><b>Figure 8:</b> Batch mode</p></center>
410 <h3 style="margin-left: 40px;"><a name="env_files"></a>Environment files</h3>
411 <p>During the process of installation the
412 script creates some
413 environment files to simplify procedure of launching SALOME. These
414 shell scripts set
415 all necessary environment variables for all products you have
416 installed.
417 To learn how installation scripts collects the environment, see&nbsp;<a
418  href="#pick_up_env"> here</a>. These files are: <b>salome.csh</b> + <b>salome.sh</b>
419 in the <span style="font-style: italic;"><span
420  style="font-weight: bold;">KERNEL module</span></span><b><i> sources</i></b>
421 and <span style="font-style: italic;"><span style="font-weight: bold;">KERNEL
422 module</span></span><b><i> binaries</i></b> root directories and <b>env_products.csh</b>
423 + <b>env_products.sh </b>and <span style="font-weight: bold;">env_build.csh
424 </span>+ <span style="font-weight: bold;">env_build.sh</span> in the
425 target directory.<br>
426 </p>
427 <span style="font-weight: bold;">Note:</span> there is some difference
428 betwen these files: <span style="font-weight: bold;">env_build.*</span>
429 files are optimized to
430 be used for the building of SALOME modules from sources (see <span
431  style="font-weight: bold;">README </span>file provided with the
432 installation procedure on th CD). The <span style="font-weight: bold;">env_products.*</span>
433 (and<span style="font-weight: bold;"> salome.*</span>) files are
434 optimized for
435 the SALOME launching. The behavior is defined by the environment
436 variable<span style="font-weight: bold;"> </span><b>ENV_FOR_LAUNCH</b>
437 which is set to 0 in env_build.* files and to 1 in env_products.*
438 (salome.*) files.<br>
439 <br>
440 <hr>
441 <h3><a name="check_version_proc"></a>Notes on<font color="#ff0000">
442 check products version</font> procedure</h3>
443 Unfortunately under Linux platform there is no exact algorithm to
444 identify the product's version. The information in this section gives
445 an idea how the
446 version is checked for the native/preinstalled products (this
447 information refers to the base platform <span
448  style="color: rgb(0, 0, 153);">Linux Mandrake
449 10.1</span>; and the same algorithms are used for other platforms). <br>
450 The general rule for all products is that the path to the binaries
451 should be set via <span style="font-weight: bold;">PATH</span>
452 environment variable, path to the libraries should be set via <span
453  style="font-weight: bold;">LD_LIBRARY_PATH</span> variable and the
454 python modules should be available via <span style="font-weight: bold;">PYTHONPATH</span>
455 variable.<br>
456 <span style="font-weight: bold;">Note:</span> the information given in
457 this section refers to the prerequisite products for SALOME version
458 3.2.0.<br>
459 <ul>
460   <li>gcc 3.4.1<br>
461   </li>
462 </ul>
463 Version number is checked by <span style="font-weight: bold;">gcc
464 -dumpversion</span> command. <span style="font-weight: bold;">gcc</span>
465 executable should be in the <span style="font-weight: bold;">PATH</span>
466 environment variable. Version should
467 be equal to the "3.4.1". It is recommended to use native gcc on
468 Mandrake 10.1.<br>
469 <ul>
470   <li>tcl/tk 8.4.5</li>
471 </ul>
472 Version number for <span style="font-weight: bold;">tcl/tk</span> can
473 be found in tclConfig.sh and tkConfig.sh files (<span
474  style="font-weight: bold;">TCL_VERSION</span> and <span
475  style="font-weight: bold;">TK_VERSION</span> variables
476 correspondingly). Version number should be equal to "8.4" (release
477 number is not checked). <br>
478 Set <span style="font-weight: bold;">TCLHOME</span> environment
479 variable to the root directory of tcl/tk installation.<br>
480 It is recommended to use native tcl/tk on Mandrake 10.1. <span
481  style="font-weight: bold;"></span>
482 <ul>
483   <li>boost 1.31.0</li>
484 </ul>
485 Version number is defined by <span style="font-weight: bold;">version.hpp</span>
486 file which is part of the boost distribution. This file defines <span
487  style="font-weight: bold;">BOOST_VERSION</span> macro which should be
488 equal to the "103100". In addition the existence of boost libraries is
489 checked. <br>
490 Set <span style="font-weight: bold;">BOOSTDIR</span>
491 environment variable if you have preinstalled version of
492 boost.<br>
493 <ul>
494   <li>Python 2.3.4</li>
495 </ul>
496 Version number is checked by <span style="font-weight: bold;">python -V</span>
497 command. <span style="font-weight: bold;">python</span> executable
498 should be in the <span style="font-weight: bold;">PATH</span>
499 environment variable. Version number should be equal to "2.3.4". It is
500 recommended to use native Python on
501 Mandrake 10.1.<br>
502 Set <span style="font-weight: bold;">PYTHONHOME</span> environment
503 variable if you have preinstalled version of Python.<br>
504 <ul>
505   <li>Swig 1.3.24</li>
506 </ul>
507 Version number is checked by <span style="font-weight: bold;">swig
508 -version</span> command. <span style="font-weight: bold;">swig</span>
509 executable should be in the <span style="font-weight: bold;">PATH</span>
510 environment variable. Version number should be equal to "1.3.24".<br>
511 <ul>
512   <li>Qt 3.3.3</li>
513 </ul>
514 Version number is defined by <span style="font-weight: bold;">qglobal.h</span>
515 file which is part of the Qt distribution. This file defines <span
516  style="font-weight: bold;">QT_VERSION_STR</span> macro which should be
517 equal to "3.3.3". It is recommended to use native Qt on Mandrake 10.1.<br>
518 Set <span style="font-weight: bold;">QTDIR</span> environment
519 variable if you
520 have preinstalled version of qt.<br>
521 <ul>
522   <li>msg2qm</li>
523 </ul>
524 <span style="font-weight: bold;">msg2qm</span> is Qt tool which is used
525 to
526 convert text *.po files to *.qm resource files. Unfortunately this tool
527 is not included to the Linux distribution and provided only in Qt
528 sources
529 package. This is the reason why this tool is suppplied with the SALOME
530 Installation Wizard.<br>
531 There is no way to check the version number of msg2qm tool. Just set <span
532  style="font-weight: bold;">MSG2QM_ROOT</span> environment
533 variable if you have preinstalled
534 version of msg2qm tool
535 <ul>
536   <li>Open CASCADE 6.1.0</li>
537 </ul>
538 Version number is defined by <span style="font-weight: bold;">Standard_Version.hxx</span>
539 file which is part of the Open CASCADE distribution. This file defines <span
540  style="font-weight: bold;">OCC_VERSION_MAJOR,</span> <span
541  style="font-weight: bold;">OCC_VERSION_MINOR</span> and <span
542  style="font-weight: bold;">OCC_VERSION_MAINTENANCE</span> macros which
543 should refer to version 6.1.0.<br>
544 Set <span style="font-weight: bold;">CASROOT</span> environment
545 variable if you have preinstalled version of Open CASCADE.<br>
546 <ul>
547   <li>qwt 4.2.0/0.4.2</li>
548 </ul>
549 Version number is defined by <span style="font-weight: bold;">qwt_global.h</span>
550 file which is part of the qwt distribution. This file defines <span
551  style="font-weight: bold;">QWT_VERSION_STR</span> macro which should
552 be
553 equal to "4.2.0".<br>
554 Set <span style="font-weight: bold;">QWTHOME</span> environment
555 variable if you
556 have preinstalled version of qwt.<br>
557 <ul>
558   <li>hdf 5-1.6.3</li>
559 </ul>
560 Version number is defined by <span style="font-weight: bold;">libhdf5.settings</span>
561 file which is part of the <span style="font-weight: bold;">hdf5</span>
562 distribution. Version should be equal to 1.6.3.<br>
563 Set <span style="font-weight: bold;">HDF5HOME</span> environment
564 variable if you
565 have preinstalled version of hdf5.<br>
566 <ul>
567   <li>med 2.2.3</li>
568 </ul>
569 Unfortunately there is no formal way to check med version
570 number. We check existense of libmed.so.1.0.2 library on the computer.
571 If you have problem with preinstalled version of med, please, reinstall
572 it.<br>
573 Set <span style="font-weight: bold;">MED2HOME</span> environment
574 variable if you
575 have preinstalled version of med.<br>
576 <ul>
577   <li>Vtk 4.2.6</li>
578 </ul>
579 Unfortunately there is no formal way to check VTK version
580 number. We just check existence of <span style="font-weight: bold;">libvtkCommon.so</span>
581 library on the computer and hope that it is of version we need. If you
582 have problem with preinstalled version of Vtk, please, reinstall it.<br>
583 Set <span style="font-weight: bold;">VTKHOME</span> environment
584 variable if you
585 have preinstalled version of Vtk.<br>
586 <ul>
587   <li>OmniORB 4.0.5, OmniORBpy 2.5, OmniNotify 2.1</li>
588 </ul>
589 We just check existence of some omniORB libraries and executable on the
590 computer, like <span style="font-weight: bold;">libomniORB4.so.0.5</span>,
591 <span style="font-weight: bold;">_omnipymodule.so.2.4</span>, <span
592  style="font-weight: bold;">libCOSNotify4.so.0.1</span> and <span
593  style="font-weight: bold;">notifd</span>.<br>
594 Set <span style="font-weight: bold;">OMNIORBDIR</span> environment
595 variable if
596 you have preinstalled version of omniORB products.<br>
597 <ul>
598   <li>sip 4.1</li>
599 </ul>
600 Version number is checked by <span style="font-weight: bold;">sip -V</span>
601 command. <span style="font-weight: bold;">sip</span> executable should
602 be in the <span style="font-weight: bold;">PATH</span>
603 environment variable. Version number should be equal to "4.1".<br>
604 Set <span style="font-weight: bold;">SIPDIR</span> environment
605 variable to the
606 directory where you have sip executable preinstalled.<br>
607 <ul>
608   <li>PyQt 3.13</li>
609 </ul>
610 Version number is defined by <span style="font-weight: bold;">pyqtconfig.py</span>
611 Python module file which is part of the <span
612  style="font-weight: bold;">PyQt</span> distribution. Version should be
613 equal to "3.13".<br>
614 Set <span style="font-weight: bold;">PYQTDIR</span>environment
615 variable if you
616 have preinstalled version of PyQt.
617 <ul>
618   <li>netgen 4.5</li>
619 </ul>
620 Unfortunarely we can't find anything about
621 netgen version. We just check if <span style="font-weight: bold;">NETGENROOT</span>
622 environment varible is set.<br>
623 Set <span style="font-weight: bold;">NETGENROOT</span>
624 environment
625 variable if you have preinstalled version
626 of netgen mesher.<br>
627 <ul>
628   <li>Numeric 23.7</li>
629 </ul>
630 Version number is checked by <span style="font-weight: bold;">python
631 -c
632 'import Numeric; print Numeric.__version__'</span> command. <span
633  style="font-weight: bold;">python</span> executable should be in the <span
634  style="font-weight: bold;">PATH</span>
635 environment variable and <span style="font-weight: bold;">Numeric</span>
636 module should be avaible for the Python (for example it should be in
637 the <span style="font-weight: bold;">PYTHONPATH</span> environment
638 variable). Version number should be equal to "23.7". If you have
639 problem with preinstalled version of Numeric 23.7, please,
640 reinstall it.<br>
641 Add the directory where&nbsp;<span style="font-weight: bold;"></span>you
642 have preinstalled version of Numeric
643 package to the <span style="font-weight: bold;">PYTHONHOME </span>environment
644 variable.<br>
645 <ul>
646   <li>graphviz 2.2.1</li>
647 </ul>
648 Version number is checked by <span style="font-weight: bold;">dot -V</span>
649 command. <span style="font-weight: bold;">dot</span> executable should
650 be in the <span style="font-weight: bold;">PATH</span>
651 environment variable. Version number should be equal to "2.2.1".<br>
652 Add <span style="font-weight: bold;">graphviz</span> bin directory to
653 the <span style="font-weight: bold;">PATH</span> environment variable.<br>
654 <ul>
655   <li>doxygen 1.4.6</li>
656 </ul>
657 Version number is checked by <span style="font-weight: bold;">doxygen
658 --version</span> command. <span style="font-weight: bold;">doxygen</span>executable
659 should be in the <span style="font-weight: bold;">PATH</span>
660 environment variable. Version number should be equal to "1.4.6".<br>
661 <ul>
662   <li><span style="font-weight: bold; color: rgb(0, 0, 153);">SALOME </span>module
663     <span style="font-weight: bold;"></span><span
664  style="font-weight: bold; color: rgb(0, 0, 153);">sources</span>
665 (3.2.0).</li>
666 </ul>
667 For each SALOME module sources package (KERNEL, GUI, GEOM, etc...) <span
668  style="font-weight: bold;">bin</span> directory contains file <span
669  style="font-weight: bold;">VERSION</span> which defines version
670 information.<br>
671 Set <span style="font-weight: bold;">&lt;MODULE&gt;_SRC_DIR</span>
672 environment variable for each SALOME <span style="font-weight: bold;">MODULE</span>
673 sources package installed (where <span style="font-weight: bold;">MODULE</span>
674 is KERNEL, GUI, GEOM, ...).<br>
675 <ul>
676   <li><span style="font-weight: bold; color: rgb(0, 0, 153);">SALOME </span>module
677     <span style="font-weight: bold;"></span><span
678  style="font-weight: bold; color: rgb(0, 0, 153);">binaries </span>(3.2.0)</li>
679 </ul>
680 For each SALOME module binaries package (KERNEL, GUI, GEOM, etc...) <span
681  style="font-weight: bold;">bin/salome</span> directory contains file <span
682  style="font-weight: bold;">VERSION</span> which defines version
683 information.<br>
684 Set <span style="font-weight: bold;">&lt;MODULE&gt;_ROOT_DIR</span>
685 environment variable for each SALOME <span style="font-weight: bold;">MODULE</span>
686 binaries package installed (where <span style="font-weight: bold;">MODULE</span>
687 is KERNEL, GUI, GEOM, ...).<br>
688 <p><b></b>If you have native products installed to different from
689 default
690 directories (not <b>/usr/bin</b>, <b>/usr/lib</b>...), it is
691 recommended to follow above mentioned instructions. Or you should
692 properly set <span style="font-weight: bold;">PATH</span> and <span
693  style="font-weight: bold;">LD_LIBRARY_PATH</span> variables <b><font
694  color="#ff0000">before</font></b>
695 starting the Installation Wizard. Otherwise
696 the installation script will fail to find preinstalled/native products.
697 </p>
698 <p><b>Note:</b> For some native products (e.g. gcc, Python) the rules
699 of version
700 checking are not so strict as described in the table. Only major and
701 minor numbers of version
702 should coincide with prerequisite. Newer version of the product can be
703 used also. If some native product has version number larger than that
704 required by
705 the
706 installation procedure, user will be prompted by the warning message
707 like this: <i>"You have
708 newer version of gcc installed
709 on your computer than that is required (3.4.1). Continue?"</i>. You can
710 press <i>"Yes"</i> button
711 to proceed with the installation but in this case you should be aware
712 of what you are doing.
713 SALOME binaries (including other products) are compiled with the
714 predefined prerequisites
715 and most likely can not be run successfully if these products are not
716 found.
717 This can be helpful only if you plan to build all products from
718 sources. <br>
719 </p>
720 <h3>
721 <hr></h3>
722 <h3> <a name="pick_up_env"></a>Pick up the <font color="#ff0000">environment</font></h3>
723 Please, read carefully the following information. This section
724 describes how the installation procedure generates the environment
725 scripts for the SALOME platform being installed.
726 <p>After installing of each product shell the script creates special
727 environment file for the product in its installation folder. The name
728 of
729 the file is generated
730 from
731 the name of product by the following scheme: <b>env_&lt;product_name&gt;.sh</b>
732 (for example <b>env_Vtk.sh </b>for the Vtk).
733 This file includes all necessary environment settings. At the final
734 step of the installation the script picks up all the
735 settings files and generate from them two common environment files: <b>salome.sh</b>
736 and <b>salome.csh
737 </b>for <span style="font-weight: bold;">bash</span> and <span
738  style="font-weight: bold;">csh</span> shells correspondingly. Such
739 approach helps to save time
740 when reinstalling products and you may not to care about setting all
741 environment variables
742 manually to build/launch SALOME. What you need is just to source one of
743 these
744 environment files. </p>
745 <p>This concerns also those products which are not being installed.
746 For example, you install some SALOME binaries to the directory where
747 you have previously installed other products.&nbsp; Installation
748 procedure tries to collect environment files from the target
749 directory if it finds necessary products installed there. If some
750 product is not
751 found in the target directory the corresponding
752 section of <b>salome.sh/salome.csh</b> files will be skipped. <br>
753 For native products (like <i><b>gcc, tcl, etc...</b><b>)</b></i>
754 installation procedure tries to find them first using <b>PATH</b>
755 / <b>LD_LIBRARY_PATH</b> variables and then in the system default
756 directories (<b>/usr/bin, /usr/lib</b> etc., depending on the product).
757 </p>
758 <p>In any case you may edit <b>salome.*</b> files after installation
759 procedure finishes, if you want.<br>
760 <span style="font-weight: bold;"><br>
761 Note:</span> as it was mentioned <a href="#env_files">above</a> there
762 are another environment files which
763 are generated by the installation procedure: <span
764  style="font-weight: bold;">env_products.csh</span> + <span
765  style="font-weight: bold;">env_products.sh</span> and <span
766  style="font-weight: bold;">env_build.csh</span> + <span
767  style="font-weight: bold;">env_build.sh</span>. These files can be
768 found in the target installation root directory.<br>
769 </p>
770 <hr>
771 <h3><a name="xml_files"></a>Modifying <font color="#ff0000">XML</font>
772 configuration <font color="#ff0000">file</font></h3>
773 <font color="#000000">You can create your own XML configuration file.
774 The Installation Wizard then can take it as command line argument to
775 provide list of products you want to install with it. The list of
776 products and some another settings for the Installation Wizard are
777 provided in the XML file. The default file which Installation Wizard
778 looks
779 for if no command line arguments are given, is <b>config.xml</b>.<br>
780 This
781 section describes the structure of the configuration file.</font> <br>
782 <font color="#000000">XML tags are in bold blue, optional sections/tags
783 are in brackets.</font>
784 <font face="Courier">
785 <p><b><font color="#000099">&lt;document&gt;</font></b>
786 <br>
787 <font color="#000000"><b>&nbsp;&nbsp;&nbsp; </b>[</font><b><font
788  color="#000099"> &lt;config</font></b><font color="#000000">
789 [ version=&lt;install_wizard_version&gt; ]</font> <br>
790 <font color="#000000">&nbsp;&nbsp;&nbsp; &nbsp;
791 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
792 caption=&lt;install_wizard_caption&gt; ]</font> <br>
793 <font color="#000000">&nbsp;&nbsp;&nbsp; &nbsp;
794 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
795 copyright=&lt;install_wizard_copyright&gt;&nbsp; ]</font> <br>
796 <font color="#000000">&nbsp;&nbsp;&nbsp; &nbsp;
797 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
798 license=&lt;install_wizard_license_info&gt; ]</font> <br>
799 <font color="#000000">&nbsp;&nbsp;&nbsp; &nbsp;
800 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ os=&lt;target_platform&gt;
801 ]</font><b><font color="#000099"><br>
802 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /&gt;</font></b><font color="#000000"> <br>
803 &nbsp;&nbsp;&nbsp; ]</font> <br>
804 <font color="#000000"><b>&nbsp;&nbsp;&nbsp; </b>[ </font><b><font
805  color="#000099">&lt;path</font></b><font color="#000000">&nbsp;&nbsp;
806 [ targetdir=&lt;target_directory&gt; ]</font> <br>
807 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
808 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
809 [ tempdir=&lt;temp_directory&gt;&nbsp;&nbsp;&nbsp;&nbsp; ]</font><b><font
810  color="#000099"><br>
811 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /&gt; </font></b><font color="#000000"><br>
812 &nbsp;&nbsp;&nbsp; ]</font> <br>
813 <font color="#000000"><b>&nbsp;&nbsp;&nbsp; </b>[ </font><b><font
814  color="#000099">&lt;button</font></b><font color="#000000">
815 &nbsp;  label=&lt;button_label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font> <br>
816 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
817 &nbsp;&nbsp;&nbsp;&nbsp;
818 [ tooltip=&lt;button_tooltip&gt; ]</font> <br>
819 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
820 &nbsp;&nbsp;&nbsp;&nbsp;
821 &nbsp;  script=&lt;button_script&gt;&nbsp;&nbsp;&nbsp;</font> <br>
822 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
823 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
824 [ disable=&lt;disable_flag&gt;&nbsp;&nbsp;&nbsp;]</font><b><font
825  color="#000099"><br>
826 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /&gt; </font></b><font color="#000000"><br>
827 &nbsp;&nbsp;&nbsp; ]</font> <br>
828  <font color="#000000">
829 &nbsp;&nbsp;&nbsp; [</font><b><font color="#000099"> &lt;button</font></b><font
830  color="#000000"> ... </font><font color="#000099"><br>
831 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /<b>&gt;</b></font><br><font color="#000000">
832 &nbsp;&nbsp;&nbsp; ]</font> <br>
833 <font color="#000000">&nbsp;&nbsp;&nbsp; [</font><b><font
834  color="#000099"> &lt;product</font></b><font color="#000000">&nbsp;
835 name=&lt;product_name&gt;</font> <br>
836 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
837 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
838 version=&lt;product_version&gt;</font> <br>
839 &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; [
840 context=&lt;product_context&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
841 ]<br>
842 &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; [
843 description=&lt;product_description&gt; ]<br>
844 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
845 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
846 install=&lt;installation_mode&gt;</font> <br>
847 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
848 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
849 supported=&lt;supported_installation_modes&gt;</font> <br>
850 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
851 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  [ disable=&lt;disable_flag&gt;
852 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br>
853 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; [
854 pickupenv=&lt;pickup_env_flag&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</font><font
855  color="#000000"><br>
856 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
857 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
858 dependancies=&lt;list_of_prerequisites&gt;</font>&nbsp;<font
859  color="#000000"><br>
860 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
861 &nbsp;&nbsp;&nbsp;&nbsp; installdiskspace=&lt;install_disk_space&gt;</font>
862 <font color="#000000"><br>
863 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
864 &nbsp;&nbsp;&nbsp; temporarydiskspace=&lt;tmp_disk_space&gt;</font> <font
865  color="#000000"><br>
866 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
867 &nbsp;&nbsp; script=&lt;installation_script_name&gt;</font><font
868  color="#000099"><br>
869 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /<b>&gt;</b></font><font color="#000000">
870 <br>
871 &nbsp;&nbsp;&nbsp; ]</font> <font color="#000000"><br>
872 &nbsp;&nbsp;&nbsp; [</font><b><font color="#000099"> &lt;product</font></b><font
873  color="#000000"> ... </font><font color="#000099"><br>
874 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /<b>&gt;</b></font><font color="#000000">
875 <br>
876 &nbsp;&nbsp;&nbsp; ]</font><br><font color="#000000">
877 &nbsp;&nbsp;&nbsp; ...</font><br>
878 <b><font color="#000099">
879 &lt;/document&gt;</font></b> </p>
880 </font>
881 <h4><font color="#000000">&lt;config&gt; section</font></h4>
882 <font color="#000000">This is optional section; it provides general
883 information about Installation Wizard itself.<br>
884 <br>
885 Attributes:<br>
886 </font>
887 <ul>
888   <li> <font color="#000000"><b>version</b></font></li>
889 </ul>
890 <font color="#000000">The application version number to be shown in the
891 caption.</font>
892 <ul>
893   <li> <font color="#000000"><b>caption</b></font></li>
894 </ul>
895 <font color="#000000">The application main window caption - if this
896 string contains '%1' text the title will
897 contain
898 in this place the version number (see above).</font>
899 <ul>
900   <li> <font color="#000000"><b>copyright</b></font></li>
901 </ul>
902 <font color="#000000">The application
903 copyright information (shown in the first page).</font>
904 <ul>
905   <li> <font color="#000000"><b>license</b></font></li>
906 </ul>
907 <font color="#000000">The application license information (shown in the
908 first page).</font>
909 <ul>
910   <li> <font color="#000000"><b>os</b></font></li>
911 </ul>
912 <font color="#000000">This parameter defines the directory (relative
913 from ./Products/BINARIES) where the Installation Wizard will
914 search precompiled binaries packages. If this tag is not provided,
915 binaries packages are looked for in
916 the ./Products/BINARIES directory.</font>
917 <h4> <b><font color="#000000">&lt;path&gt; section</font></b></h4>
918 This is optional section; it defines default installation directories.<br>
919 <font color="#000000"><br>
920 Attributes:</font><br>
921 <ul>
922   <li> <font color="#000000"><b>targetdir</b></font></li>
923 </ul>
924 <font color="#000000">The target
925 directory - the path to the directory where products should be
926 installed.</font>
927 <ul>
928   <li> <font color="#000000"><b>tempdir</b></font></li>
929 </ul>
930 <font color="#000000">The temporary directory -
931 the path to the directory for the temporary files.</font>
932 <h4> <b>&lt;product&gt; section</b></h4>
933 This section describes product to be installed with the Installation
934 Wizard. XML file should include &lt;product&gt; section for each
935 product to be installed. The products appear in the tree view
936 and are installed in the order they are described in the configuration
937 file. It is recommended (but not obligatory) to define native products
938 at the top of the
939 list before all other products.<br>
940 <font color="#000000"><br>
941 Attributes:</font><br>
942 <ul>
943   <li> <font color="#000000"><b>name</b></font></li>
944 </ul>
945 <font color="#000000">The name of the product.</font>
946 <ul>
947   <li> <font color="#000000"><b>version</b></font></li>
948 </ul>
949 <font color="#000000">The version of the product.</font>
950 <ul>
951   <li> <font color="#000000"><b>description</b></font></li>
952 </ul>
953 The <font color="#000000">product </font><font color="#000000">description
954 (optional).</font>
955 <ul>
956   <li> <font color="#000000"><b>context</b></font></li>
957 </ul>
958 <font color="#000000">Context (optional). The possible values are <b>'salome
959 sources'</b>, <b>'salome
960 binaries'</b> and <b>'prerequisite'</b> (several context can be given
961 separated by ":" symbol).</font>
962 <ul>
963   <li> <font color="#000000"><b>supported</b></font></li>
964 </ul>
965 <font color="#000000">Supported modes of
966 installation. Several modes can be separated by comma. Possible value
967 are: <i>install sources</i>, <i>install binaries</i>, <i>use
968 native</i>. Installation script should contain the corresponding
969 functions
970 for each of the supported installation modes (see <a
971  href="#new_products">here</a>).</font>
972 <ul>
973   <li> <font color="#000000"><b>install</b></font></li>
974 </ul>
975 <font color="#000000">Default (starting)
976 installation mode.</font>
977 <ul>
978   <li> <font color="#000000"><b>disable</b></font></li>
979 </ul>
980 <font color="#000000">If this optional flag has 'true'
981 value, the corresponding product will not appear in the list of
982 products and will not be installed.</font>
983 <ul>
984   <li><b>pickupenv</b></li>
985 </ul>
986 This flag points that pickup environment
987 procedure
988 should be performed for this product. If this flag equal to 'true',
989 &nbsp;salome.sh
990 and salome.csh files will&nbsp; be created in the product's
991 installation
992 directory. Usually this option is set to true for SALOME KERNEL module
993 sources and binaries package. This is optional key, default value is
994 'false'<b>.</b><br>
995 <ul>
996   <li> <font color="#000000"><b>dependancies</b></font></li>
997 </ul>
998 <font color="#000000">List of prerequisite
999 products, which are necessary to build this product, separated by comma.</font>
1000 <ul>
1001   <li> <font color="#000000"><b>installdiskspace</b></font></li>
1002 </ul>
1003 <font color="#000000">Total amount
1004 space (integer, in Kbytes), which product occupies on the hard drive
1005 after the
1006 installation.</font>
1007 <ul>
1008   <li> <font color="#000000"><b>temporarydiskspace</b></font></li>
1009 </ul>
1010 <font color="#000000">Disk space
1011 (integer, in Kbytes) for the temporary files, which is necessary to
1012 build the product from the sources.</font>
1013 <ul>
1014   <li> <font color="#000000"><b>script</b></font></li>
1015 </ul>
1016 <font color="#000000">The installation script name.
1017 This script is in charge of the installation of the product. It is
1018 called
1019 automatically by the Installation Wizard when necessary from the main
1020 program. See the <a href="#new_products">next
1021 section</a> for
1022 more information.</font><br>
1023 <h4> <b>&lt;button&gt; section</b></h4>
1024 This is optional section. It allows customing of the last <i>"Finish
1025 installation"</i> page of the Installation Wizard by adding one or
1026 more buttons in the lower part of the wizard's window. The script
1027 which is attached to each such button, can perform some specific
1028 action, for example, launch the application or show the Release Notes
1029 file by using external program.
1030 See <a href="#finish_buttons">here</a> for more details about
1031 writing scripts.<br>
1032 <font color="#000000"><br>
1033 Attributes:</font><br>
1034 <ul>
1035   <li> <font color="#000000"><b>label</b></font></li>
1036 </ul>
1037 <font color="#000000">This is the button text.</font>
1038 <ul>
1039   <li> <font color="#000000"><b>tooltip</b></font></li>
1040 </ul>
1041 <font color="#000000">The button's tooltip (optional).</font>
1042 <ul>
1043   <li> <font color="#000000"><b>script</b></font></li>
1044 </ul>
1045 <font color="#000000">The script attached to the button.</font>
1046 <ul>
1047   <li> <font color="#000000"><b>disable</b></font></li>
1048 </ul>
1049 <font color="#000000">If this optional flag has 'true'
1050 value, the corresponding button will not appear in the <i>"Finish
1051 installation"</i> page - the section of XML file is silently
1052 ignored.</font><br><br><b>Note:</b> If you add new products to be
1053 installed with Installation Wizard, you should also provide
1054 installation script for this product. See the next section for more
1055 details.<p><br></p>
1056 <hr>
1057 <h3><a name="new_products"></a>Implementing <font color="#ff0000">installation
1058 scripts</font> for the new products</h3>
1059 When you want some product to be installed with the Installation
1060 Wizard, you should add it's description it <a href="#xml_files">in the
1061 configuration file</a> and create the installation script, following
1062 rules described in this section. <br>
1063 <br>
1064 There are some obligatory functions which should be implemented in this
1065 installation
1066 script. These functions are automatically called by master installation
1067 script
1068 or/and its GUI shell when it is necessary.<br>
1069 <font color="#000000">File <b>common.sh</b> contains some service
1070 functions
1071 which can be used in your installation script, like <b>make_env()</b>,<b>
1072 make_dir()</b>, <b>try_existing()</b>, <b>sort_path()</b>,<b>
1073 find_in_path()</b>,
1074 etc.</font>
1075 <ul>
1076   <li> <b>check_version()</b></li>
1077 </ul>
1078 This function allows to check the
1079 version of the product already installed on the computer. It should try
1080 to find product (native or preinstalled in the target directory) and
1081 check
1082 its version. This helps to avoid unnecessary reinstallation. This is
1083 internal
1084 function and is not called from the master installation script.<br>
1085 <ul>
1086   <li> <b><font color="#000000">try_native()</font></b></li>
1087 </ul>
1088 <font color="#000000">This function is
1089 called when <i>'use native' </i>installation mode is selected by the
1090 user. The function should try to find native version of the product and
1091 define possibility of its usage. It should create the environment file
1092 for the
1093 product in the temporary directory (see also description of <b>print_env(</b>)
1094 function). I</font><font color="#000000">t is not necessary to
1095 implement
1096 this function i</font><font color="#000000">f you do not provide native
1097 mode. installation.<br>
1098 </font>
1099 <ul>
1100   <li> <font color="#000000"><b>install_source()</b></font></li>
1101 </ul>
1102 <font color="#000000">This function is
1103 called when <i>'install sources</i>' installation mode is selected by
1104 the
1105 user. The function is responsible for the building of the product from
1106 the
1107 sources package. It should create the environment file for the product
1108 in the
1109 temporary
1110 directory (see also description of <b>print_env(</b>) function). </font><font
1111  color="#000000">I</font><font color="#000000">t is not necessary to
1112 implement
1113 this function i</font><font color="#000000">f you do not provide </font><font
1114  color="#000000">sources mode installation.</font>
1115 <ul>
1116   <li> <font color="#000000"><b>install_binary()</b></font></li>
1117 </ul>
1118 <font color="#000000">This function is
1119 called when <i>'install binaries'</i> installation mode is selected by
1120 the
1121 user. The function is responsible for the extracting of the product
1122 from
1123 the binaries package. It should create environment for the product in
1124 the
1125 temporary
1126 directory (see also description of <b>print_env(</b>) function).</font><font
1127  color="#000000"> I</font><font color="#000000">t is not necessary to
1128 implement
1129 this function i</font><font color="#000000">f you do not provide </font><font
1130  color="#000000">binaries</font><font color="#000000"> mode
1131 installation.</font><font color="#000000"> <br>
1132 </font>
1133 <ul>
1134   <li> <b>try_preinstalled()</b></li>
1135 </ul>
1136 <font color="#000000">This function
1137 is called when<i> 'not install'</i> installation mode is selected by
1138 the user. In this case script should inspect target directory to try to
1139 find already preinstalled product, pick up and check environment from
1140 there. See <a href="#pick_up_env">here</a> for more details.</font>
1141 <ul>
1142   <li> <font color="#000000"><b>print_env()</b></font></li>
1143 </ul>
1144 <font color="#000000">This function is in
1145 charge of creation environment script. It should create file with name </font><b>env_&lt;product_name&gt;.sh</b>
1146 in the temporary directory and then copy it into the product
1147 installation directory. The file should contain all necessary
1148 environment variables settings for the product. It will be collected
1149 during the 'pick-up-environment' procedure.
1150 <ul>
1151   <li><b>pickup_env()</b></li>
1152 </ul>
1153 This procedure corresponds <b>pickupenv</b>
1154 tag
1155 of the configuration xml file (see previous section). It should call <b>make_env</b>
1156 procedure to perform pick-up environment procedure for the product.<br>
1157 <br>
1158 <font color="#000000">The calling signature of the product installation
1159 script is the following:</font> <br>
1160 <b><font color="#000000">&lt;product_script_name&gt;
1161 &lt;function_name&gt; &lt;temp_folder&gt; &lt;products_directory&gt;
1162 &lt;target_directory&gt;
1163 &lt;dependancies&gt; &lt;product_name&gt;</font></b>
1164 <p><font color="#000000">where</font> <br>
1165 </p>
1166 <p><font color="#000000"><b>&lt;product_script_name&gt;</b> -
1167 installation
1168 script name (described in configuration xml file);</font> <br>
1169 <font color="#000000"><b>&lt;function_name&gt;</b> - the name of
1170 function, corresponding to the selected installation mode: <i>try_native,
1171 install_source, install_binary</i> or <i>try_preinstalled</i>;</font> <br>
1172 <font color="#000000"><b>&lt;temp_folder&gt;</b> - temporary files
1173 directory;</font> <br>
1174 <font color="#000000"><b>&lt;products_directory&gt;</b> - directory
1175 where the sources/binaries package can be found. You should provide
1176 sources package in the <i>&lt;Install_Wizard_root_directory&gt;/Products/SOURCES</i>
1177 directory and binaries package in the <i>&lt;InstallWizard_root_directory&gt;/Products/BINARIES/&lt;os_version&gt;</i>,
1178 where &lt;os_version&gt; is target platform description, which appears
1179 in the corresponding section of the <a href="#xml_files">configuration
1180 xml
1181 file</a>.</font> <br>
1182 <font color="#000000"><b>&lt;target_directory&gt;</b> - root target
1183 directory where product should be installed to;</font> <br>
1184 <font color="#000000"><b>&lt;dependancies&gt;</b> - single-quoted list
1185 of prerequisite products, separated by space;</font> <br>
1186 <font color="#000000"><b>&lt;product_name&gt; </b>- product name
1187 itself.</font> </p>
1188 <p><font color="#000000">Example:</font> <br>
1189 <i><font color="#000000">med-2.2.2.sh install_binary /tmp/work
1190 ./Products/BINARIES/Mandrake10.1 /usr/salome 'gcc Hdf' med</font></i> </p>
1191 <p><font color="#000000">Copy created script into the <i>&lt;Install_Wizard_root_directory&gt;/config_files</i>
1192 sub-directory where all installation scripts are stored. Installation
1193 Wizard
1194 will automatically search and call your script during the installation
1195 procedure.</font>
1196 </p>
1197 <hr> <br>
1198 <h3><a name="finish_buttons"></a>Customizing <font color="#ff0000">Readme
1199 page</font> buttons</h3>
1200 The Installation Wizard allows customizing the look-n-feel of the last
1201 <i>"Finish installation"</i> page. If you want to add one or more
1202 buttons to this page in order to perform some specific actions at the
1203 end of the installation (for example, show Release Notes file by using
1204 Open Office) you can put an additional section to the XML
1205 configuration file. This is the <b>&lt;button&gt;</b> section (see <a
1206 href="#xml_files">here</a> for more details).<p><br></p>
1207 To implement the action which will be performed when the user click on
1208 the button, you need to create a script and put it to the
1209 <i>&lt;Install_Wizard_root_directory&gt;/config_files</i> directory.<br>
1210 There are some obligatory functions which should be implemented in this
1211 script. These functions are automatically called by the Installation
1212 Wizard GUI.
1213 <ul>
1214   <li><b>check_enabled()</b></li>
1215 </ul>
1216 This procedure is called by the Installation Wizard when the
1217 <i>"Finish installation"</i> page is displayed and the status of the
1218 buttons should be modified according to the installation options. This
1219 procedure should return <b>0</b> if the corresponding action can be
1220 performed and, thus, the button should become enabled. Otherwise, it
1221 should return <b>1</b> - in this case the corresponding button will be
1222 disabled.
1223 <ul>
1224   <li><b>execute()</b></li>
1225 </ul>
1226 This procedure is invoked when the user clicks the button. This
1227 procedure should return <b>0</b> if the corresponding action is done
1228 successfully and <b>1</b> if any error occurs.<br><br>
1229 The calling signature of the script is the following:<br>
1230 <b><font color="#000000">&lt;product_script_name&gt;
1231 &lt;function_name&gt; &lt;target_directory&gt; &lt;temp_folder&gt;</font></b>
1232 <p><font color="#000000">where</font> <br>
1233 </p>
1234 <p><font color="#000000"><b>&lt;product_script_name&gt;</b> -
1235 the script name itself (retrieved from the XML configuration xml
1236 file);</font> <br> <font color="#000000"><b>&lt;function_name&gt;</b>
1237 - the name of function;</font> <br><font color="#000000"><b>
1238 &lt;target_directory&gt;</b> - root target directory where product are
1239 installed to;</font> <br> <font color="#000000"><b>&lt;temp_folder&gt;
1240 </b> - temporary files directory;</font> <br>
1241 <br><b>Note:</b> The standard Installation Wizard buttons "Launch
1242 SALOME" and "Release Notes" are implemented with this
1243 feature. Refer to the scripts <b>start_salome.sh</b> and
1244 <b>release_notes.sh</b> for sample implementation.<br>
1245 <br><b>Note:</b> Any button (even standard) can be ignored by the
1246 Installation Wizard if the attribute <b>&lt;disable&gt;</b> in the XML
1247 configuration file is set to the "true" value.
1248 <hr>
1249 <br>
1250 </body>
1251 </html>