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