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