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