1 <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
5 <meta http-equiv="Content-Type"
6 content="text/html; charset=iso-8859-1">
9 content="Mozilla/4.8 [en] (X11; U; Linux 2.4.18-14 i686) [Netscape]">
12 content="Vadim SANDLER (v-sandler@opencascade.com)">
13 <title>SALOME v2.2.0 Installation Wizard Help</title>
15 <body style="color: rgb(0,0,0); background-color: rgb(255,255,229);"
16 link="#0000ee" vlink="#551a8b" alink="#ff0000">
19 <table width="100%" nosave="">
23 <h1><a href="http://www.opencascade.com"><img src="logocorp.png"
24 border="0" height="47" width="139">
29 <h1><font size="+4"><font color="#000099">SALOME Installation Wizard
30 Help</font> </font></h1>
34 <div align="right"><a href="http://www.opencascade.org/SALOME/"><img
35 src="application.png" border="0" height="47" width="109">
44 <div align="right"><b><font color="#000099">updated for the version 2.2.0</font></b></div>
48 <li> <a href="#install_from_wizard">Installing products with the Installation
50 <li> <a href="#check_version_proc">Notes on check products version procedure</a></li>
51 <li> <a href="#pick_up_env">Pick up the environment</a></li>
52 <li> <a href="#xml_files">Modifying XML configuration file</a></li>
53 <li> <a href="#new_products">Implementing installation scripts for the
61 <h3> <a name="install_from_wizard"></a>Installing products with the <font
62 color="#ff0000">Installation Wizard</font></h3>
63 You can run the Installation Wizard in two modes. It's root directory contains
64 python script runInstall.py:
65 <p><b>[ python ] runInstall [ -g | b ] [ -f <xml-file> ] [ -t <target-dir>
66 ] [ -tmp <tmp-dir> ]</b> </p>
69 Runs the Installation Wizard in the GUI
70 mode. In this case only <xml-file> key is taken into account. This
71 option is used by default. <br>
73 Runs the Installation Wizard in the batch
75 <b>-f <xml-file></b><br>
76 The configuration file to be used by the
77 Installation Wizard. If this parameter is missed then the script tries
78 to define the <i>Red Hat </i>version and uses corresponding xml file. For
79 examle, for the <i>Red Hat 8.0</i> <b>config_RedHat8_0.xml</b> file
80 is supposed to be used by default. If the appropriate file is not found, <b>config.xml</b>
81 is used by default. <br>
82 <b>-t <target-dir></b><br>
83 The target directory, SALOME products to
84 be installed to. If used, overloads target directory, given in the configuration
86 <b>-tmp <tmp-dir></b><br>
87 The directory, which is used to contain
88 temporary files. If used, overloads temporary directory, given in the
89 configuration xml file.<br>
91 Prints help information. <br>
94 <p>So, to run the Installation Wizard in the GUI mode, just type <b>runInstall</b>.
97 <p>The installation procedure can support some different Linux platforms
98 (currently it provides only configuration scripts for <i>RedHat-8.0</i>)
99 and various number of products. <br>
100 The using of configuration xml files gives flexible way to modify the list
101 of products to be installed by the Installation Wizard without changing program's
102 source code. Just create your own configuration file and implement installation
103 scripts for products you want to be provided by Wizard. See <a
104 href="#xml_files">modifying XML configuration file</a> and <a
105 href="#new_products">implementing installation scripts for the new products</a>
106 for more information. </p>
108 <p>The <font color="#ff0000">Installation Wizard</font> was built with using
109 of the <b><i>Qt </i></b>library. The program contains several pages.
110 To navigate between pages use <i>"Next"</i> and <i>"Back"</i> buttons in the
111 lower part of the wizard window. <i>"Cancel"</i> button closes dialog window
112 and quits the installation procedure. To invoke this help information click
113 <i>"Help"</i> button. </p>
115 <p>Skip the first <i>"Introduction"</i> page by pressing <i>"Next"</i> button.
118 <p>In the second page you are proposed to enter the target directory where
119 all selected products will be installed to. You can also press <i>"Browse..."</i>
120 button and choose the folder for installation using standard <b><i>Qt</i></b>
121 browse directory dialog box. <br>
122 If the directory you want to install products does not exist you will be
123 prompted to confirm directory creation. If you type wrong directory path,
124 or if you have no permission for the directory you use, the corresponding
125 message box will raise. </p>
127 <p>The Installation Wizard has two modes of the installation: basic and advanced.
128 In the basic mode it is necessary just to enter target directory. If you want
129 to use advanced mode, click <i>"More..."</i> button. </p>
131 <p>In the advanced mode you have the possibility to select products to be
132 installed (see <a href="#ProductPage">Fig.1</a> ). Each product can have several
133 options of installation: you have a possibility to use native products, install
134 already precompiled binaries, build product from the sources or not install it
135 at all. Possible options and default choice are provided by the configuration
136 file. You can mark the products, you want to install, by clicking the corresponding
137 radiobuttons in the list view in the left part of the page. Note that some
138 products can be installed only together with other products (or these prerequisite
139 products should be already installed on your computer). The installation procedure
140 has a special feature to automatically mark these products in the list view.
141 For example, in order to install <b><i>pyqt</i></b> it's necessary to have
142 <b><i>gcc, python</i></b>,<b><i> qt</i></b> and <b><i>sip</i></b> installed.
143 Therefore all these products will be marked when you check on <b><i>pyqt</i></b>.
144 This feature can be switched off by clicking <i>"Auto set prerequisites products"</i>
146 Special button in the right part of the page - <i>"Unselect All" </i>-
147 allows to reset quickly all products to the <i>"not install"</i> state. <br>
148 If you want to use native Linux Red Hat 8.0 products (these are gcc, tcl,
149 Python, Qt, Sip and PyQt), select <i>"use native" </i>option. </p>
151 <p>The box at the right side of the page displays the information about currently
152 highlighted product: name, version, short description (if provided), required
153 disk space, temporary files disk space, list of prerequisites and user choice.
156 <center><a name="ProductPage"></a><br>
157 <img src="productpage.png" height="558" width="599" alt="">
159 <p><b>Figure 1:</b> "Installation settings" page in the advanced mode</p>
162 <p>The <i>"Total disk space required:"</i> field displays how much disk space
163 on the hard drive is required for installation of selected products. <br>
164 <b>Note: </b>Please, take into account that displayed amount of required
165 disk space is approximate and may differ when you install products on your
168 <p>Installation procedure uses a special directory to store temporary files.
169 The <i>"Space for temporary files:"</i> field shows the information about
170 required disk space on the hard drive for extracting and compiling of the
171 selected products. You can change the default directory - just type path
172 to the folder you want to use or click on the corresponding <i>"Browse..."</i>
175 <p>The installation procedure also checks available disk space on the selected
176 directories according to the products selected. If there is no enough disk
177 space on your hard drive you will see the corresponding error message box.
180 <p><b>Note: </b>Unfortunately, the configure procedure has a very annoying
181 bug under Linux platform. The directory should be obligatory entered without
182 spaces. For example, the configure procedure for <b><i>gcc</i></b> won't
183 work if you pass the following parameter: <i>--prefix="/New Folder 1"</i>.
184 <b>Therefore you are strongly recommended not to use directory names containing
187 <p>To proceed further click <i>"Next"</i> button. At this moment program
188 will make some tests to check installation settings: if there is enough disk
189 space on the hard drive, if native products are preinstalled, dependencies
190 (prerequisites) for each product you have selected to be installed.
191 If any test fails you will see corresponding warning message box. Otherwise
192 wizard will follow to the next page: </p>
195 <p><a name="ChoicePage"></a><br>
196 <img src="choicepage.png" height="558" width="599" alt="">
199 <p><b>Figure 2:</b> "Check your choice" page</p>
202 <p>This page summarizes the installation settings you've made on the previous
203 pages. You can check again your choice to change it if necessary. <br>
204 When you are sure that everything is OK, press <i>"Next"</i> button to
205 follow to the <a href="#ProgressPage">next page</a>. </p>
207 <center><a name="ProgressPage"></a><br>
208 <img src="progresspage.png" height="558" width="599" alt="">
210 <p><b>Figure 3:</b> "Installation progress" page</p>
213 <p>To start installation of the selected products click <i>"Start"</i> button.
214 It launches the shell installation script and you will be able to see the
215 output of the script in the topmost dialog's frame. In case of any installation
216 problems (for example, you have accidentally removed the temporary directory)
217 the script will ask you: <i>"Would you like to continue : (Y,N) ?"</i>. You
218 can answer this question by typing [Y] or [N] in the middle text edit control
220 <b>Note:</b> press [Enter] when you finish typing data. </p>
222 <p>The <i>"Installation Status"</i> frame window shows you the progress of
223 installation. It contains a list of all selected products with brief descriptions.
224 "<font color="#ff0000">Waiting</font>" description means that installation
225 of this product have not started yet. Currently installing product is marked
226 as "<font color="#ff9900">Processing</font>". All installed products have
227 "<font color="#33ff33">Completed</font>" description. </p>
229 <p>You can abort installation and close the installation procedure using
230 <i>"Cancel"</i> button. It sends the signal "SIGTERM" to the shell script.
231 The script has a signal handler and will try to clear all temporary files.
232 The process of removing temporary files can take some time, so the installation
233 wizard will wait 3 seconds before closing. </p>
235 <p>At the end of installation (all selected products have been installed
236 successfully) you can go back to the previous pages to start a new installation
237 or click <i>"Next"</i> button to go the Readme page: </p>
240 <p><a name="readmepage"></a><br>
241 <img src="readmepage.png" height="558" width="599" alt="">
244 <p><b>Figure 4:</b> "Finish installation" page</p>
247 <p>In this page you can read important information about the Instalation
248 Wizard itself and some hints: how to run and test SALOME or how to build
249 SALOME from the sources. This is the contents of the README file which you
250 can find in the root directory of the Installation Wizard. <br>
251 You can also launch SALOME Desktop from this page by clicking <i>"Launch
252 SALOME" </i>button. </p>
254 <p>During the process of installation the script creates some environment
255 files to simplify procedure of launching SALOME. These shell scripts set
256 all necessary environment variables for all products you have installed.
257 To learn how installation scripts collects the environment, see <a
258 href="#pick_up_env"> here</a>. These files are: <b>salome.csh</b> + <b>salome.sh</b>
259 in the <span style="font-style: italic;"><span
260 style="font-weight: bold;">KERNEL module</span></span><b><i> sources</i></b>
261 and <span style="font-style: italic;"><span style="font-weight: bold;">KERNEL module</span></span><b><i>
262 binaries</i></b> root directories and <b>env_products.csh</b> + <b>env_products.sh
263 </b>in the target directory. </p>
266 <h3><a name="check_version_proc"></a>Notes on<font color="#ff0000"> check
267 products version</font> procedure</h3>
268 Unfortunately under Linux platform there is no exact algorithm to identify
269 the product's version. The table below contains the information relating
270 to checking preinstalled products for the Linux RedHat 8.0 platform <br>
272 <table border="1" width="100%" nosave="">
276 <center><font size="+1">Product</font></center>
279 <center><font size="+1">Algorithm of checking</font></center>
282 <center><font size="+1">Preliminary steps before launching</font>
284 <font size="+1">of installation procedure</font></center>
287 <center><font size="+1">Notes</font></center>
292 <td>ver=`gcc -dumpversion`</td>
296 <td>ver should be 3.2.<br>
297 It is recommended to use native gcc on Linux RedHat 8.0</td>
301 <td nosave="">existence of TCLHOME <br>
302 existence of tclsh8.3 <br>
303 existence of wish8.3 <br>
304 existence of libtcl8.3.so <br>
305 existence of libtk8.3.so <br>
306 existence of libtclx8.3.so <br>
307 existence of libtkx8.3.so</td>
308 <td>set TCLHOME if you have preinstalled version of tcl. <br>
309 set LD_LIBRARY_PATH on a directory where libs can be found.</td>
310 <td>It is recommended to use native tcl on Linux RedHat 8.0</td>
313 <td valign="top">boost 1.30.2<br>
315 <td valign="top">ver=`egrep 'BOOST_VERSION [0-9]+' ${BOOSTDIR}/boost/version.hpp
316 | sed 's/.*BOOST_VERSION \([0-9]\+\)/\1/g'`<br>
318 <td valign="top">set BOOSTDIR if you have preinstalled version of
321 <td valign="top">It is impossible to use native BOOST and to install
322 BOOST from binaries.<br>
326 <td>Open CASCADE 5.2<br>
328 <td>existence of CASROOT environment variable</td>
329 <td>set CASROOT if you have preinstalled version of Open CASCADE</td>
330 <td>Unfortunately we can't say anything exactly about CASCADE 5.2
331 and we only check CASROOT environment variable. If you have problem with
332 preinstalled version of Open CASCADE, reinstall it</td>
335 <td>Patch for Open CASCADE 5.2<br>
339 <td>Open CASCADE 5.2 provided with the Installation Wizard already includes the patch,
340 necessary for SALOME 2.2.0. In addition the Installation Wizard provides the sources of a Open CASCADE patch
341 which can be applied to original Open CASCADE 5.2. sources before compilation.</td>
344 <td>Python 2.2.1</td>
345 <td>existence of PYTHONHOME <br>
346 isPython=`which python` <br>
348 <td>set PYTHONHOME to root Python folder <br>
349 set PATH on a directory where python can be found</td>
350 <td>Python should exist and ver should be equal to 2.2.1 <br>
351 It is recommended to use native Python on Linux RedHat 8.0</td>
355 <td>existence of libGL.so.1.2.030402</td>
356 <td>set LD_LIBRARY_PATH on a directory where libGL.so.1.2.030402
358 <td>You have a possibility to build products (vtk & qt) with
359 Mesa drivers from the package supplied with this installation procedure or
360 to use OpenGL drivers installed on your computer locally. This check procedure
361 concerns only supplied Mesa driver.</td>
365 <td>isSwig=`which swig` <br>
366 ver=`swig -version` <br>
367 ver=`echo $ver | awk '{print $3}'`</td>
368 <td>set PATH on a directory where swig can be found</td>
369 <td>Swig should exist and ver should be equal to 1.3.17</td>
373 <td>existence of QTDIR <br>
374 existence of libqt-mt.so.3.0.5</td>
375 <td>set QTDIR if you have preinstalled version of qt</td>
376 <td>We try to find libqt-mt.so.3.0.5 in ${QTDIR}/lib folder. <br>
377 You should set MESA_HOME only if you have preinstalled version of Mesa
379 It is recommended to use native Qt on Linux RedHat 8.0</td>
383 <td>existence of QWTHOME <br>
384 existence of libqwt.so.0.4.1</td>
385 <td>set QWTHOME if you have preinstalled version of qwt</td>
386 <td>We try to find libqwt.so.0.4.1 in the ${QWTHOME}/lib folder. </td>
390 <td>existence of HDF5HOME <br>
391 existence of libhdf5.so.0.0.0 <br>
392 existence of libhdf5.settings</td>
393 <td>set HDF5HOME if you have preinstalled version of hdf</td>
394 <td>We try to find libhdf5.so.0.0.0 and libhdf5.settings in ${HDF5HOME}/lib
396 File libhdf5.settings should contain the following entry: <br>
397 HDF5 Version: 1.4.4</td>
401 <td>existence of MED2HOME <br>
402 existence of libmed.so.1.0.1</td>
403 <td>set MED2HOME if you have preinstalled version of med</td>
404 <td>Unfortunately we can't check version number. <br>
405 We try to find libmed.so.1.0.1 in ${MED2HOME}/lib folder. <br>
406 If you have problem with preinstalled version of med reinstall it.</td>
410 <td>existence of VTKHOME <br>
411 existence of libvtkCommon.so</td>
412 <td>set VTKHOME if you have preinstalled version of vtk</td>
413 <td>Unfortunately we can't check the version number. <br>
414 We try to find libvtkCommon.so in ${VTKHOME}/lib/vtk folder. <br>
415 If you have problem with preinstalled version of vtk reinstall it.</td>
418 <td valign="top">Netgen 4.3<br>
420 <td valign="top">existence of NETGENROOT<br>
422 <td valign="top">set NETGENROOT if you have preinstalled version of
425 <td valign="top">Unfortunarely we can't find anything about netgen
427 We just check if NETGENROOT environment varible is set.<br>
431 <td>OmniORB 3.0.5, <br>
434 <td>existence of OMNIORBDIR <br>
435 existence of libomniORB3.so.0.5 <br>
436 existence of _omnipymodule.so.0.5 <br>
437 existence of libCOSNotify3.so.0.5 <br>
438 existence of notifd <br>
439 existence of THIS_IS_omniORB_3_0_5 <br>
440 existence of THIS_IS_omniNotify_1_2 <br>
441 existence of THIS_IS_OMNIORBPY_1_5</td>
442 <td>set OMNIORBDIR if you have preinstalled version of omni</td>
443 <td>We try to find libomniORB3.so.0.5, _omnipymodule.so.0.5 and libCOSNotify3.so.0.5
444 in ${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1 folder. <br>
445 We try to find notifd in ${OMNIORBDIR}/bin/i586_linux_2.0_glibc2.1 folder.
447 Additional checking - omni add special files THIS_IS_... <br>
448 We try to find THIS_IS_omniORB_3_0_5 in ${OMNIORBDIR} folder. <br>
449 We try to find THIS_IS_omniNotify_1_2 in ${OMNIORBDIR}/src/services/omniNotify.
451 We try to find THIS_IS_OMNIORBPY_1_5 in ${OMNIORBDIR}/src/lib/omniORBpy
455 <td>Numeric 22.0</td>
456 <td>existence of Numeric folder <br>
457 existence of _numpy.so</td>
458 <td>set PYTHONHOME if you have preinstalled version of python</td>
459 <td>Unfortunately we can't check the version number. <br>
460 We try to find Numeric folder in ${PYTHONHOME}/lib/python2.2/site-packages/Numeric
462 If you have problem with preinstalled version of numeric 22.0 reinstall
467 <td>existence of SIPDIR <br>
468 existence of sip <br>
469 existence of libsip.so.9.1.0</td>
470 <td>set SIPDIR to directory where you have sip preinstalled</td>
471 <td>We try to find sip and libsip.so.9.1.0 in $SIPDIR folder if you
472 set SIPDIR , otherwise searching is done using $PATH and $LD_LIBRARY_PATH
474 It is recommended to use native Sip on Linux RedHat 8.0</td>
478 <td>existence of PYQTDIR <br>
479 existence of libqtxmlcmodule.so.1.0.0</td>
480 <td>set PYQTDIR to directory where you have sip preinstalled</td>
481 <td>Unfortunately we can't check the version number. <br>
482 We try to find libqtxmlcmodule.so.1.0.0 in $PYQTDIR folder if you set PYQTDIR,
483 otherwise searching is done using $LD_LIBRARY_PATH . <br>
484 If you have problem with preinstalled version of PyQt 3.3.2 reinstall it.
486 It is recommended to use native PyQt on Linux RedHat 8.0</td>
489 <td>HappyDoc 2.1</td>
490 <td>existence of happydoc <br>
491 ver=`happydoc | grep "HappyDoc version 2.1"`</td>
492 <td>set PYTHONHOME if you have preinstalled version of python</td>
493 <td>We try to find happydoc in $PYTHONHOME/bin folder. <br>
494 ver should not be empty. <br>
495 This product is not obligatory. It was added only for your comfort.</td>
498 <td>Doxygen 1.3-rc2</td>
499 <td>existence of doxygen <br>
500 existence of doxysearch <br>
501 existence of doxytag <br>
502 existence of doxywizard</td>
503 <td>set QTDIR if you have preinstalled version of qt <br>
504 set PATH on a directory where doxygen, doxysearch, doxytag and doxywizard
506 <td>Unfortunately we can't check the version number. <br>
507 It's necessary to have compiled Qt in order to build doxywizard. <br>
508 If you have problem with preinstalled version of doxygen 1.3-rc2 reinstall
510 This product is not obligatory. It was added only for your comfort.</td>
513 <td>Graphviz 1.9</td>
514 <td>existence of dot</td>
515 <td>add GraphViz's bin directory to the PATH environment variable</td>
516 <td>Unfortunately we can't check the version number. <br>
517 We try to find dot program in the $PATH</td>
520 <td>MODULE binaries<br>
521 (MODULE=KERNEL,GEOM, ...)<br>
523 <td>existence of MODULE_ROOT_DIR <br>
524 existence of VERSION file <br>
525 ver=`cat $MODULE_ROOT_DIR/bin/salome/VERSION | awk -F: '{print $2}' | tr
527 <td>set MODULE_ROOT_DIR if you have preinstalled binaries of MODULE
529 <td>MODULE binaries should exist and ver should be equal to 2.2.0</td>
532 <td>MODULE sources<br>
533 (MODULE=KERNEL,GEOM, ...)<br>
535 <td>existence of MODULE_SRC_DIR <br>
536 existence of VERSION file <br>
537 ver=`cat $MODULE_SRC/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]'`</td>
538 <td>set MODULE_SRC_DIR if you have preinstalled sources of MODULE
540 <td>MODULE sources should exist and ver should be equal to 2.2.0</td>
546 <p><b>Note:</b> For native products installation procedure sets proper environment
547 variables itself, and you do not need to set such variables like, e.g. <b>TCLHOME</b>
548 or <b>PYTHONHOME</b>. <br>
549 If you have native products installed to different from default directories
550 (not <b>/usr/bin</b>, <b>/usr/lib</b>...), it is recommended to follow above
551 description. Or you should set properly $PATH and $LD_LIBRARY_PATH variables
552 <b><font color="#ff0000">before</font></b> starting Installation Wizard. Otherwise
553 installation script will fail to find preinstalled products. </p>
554 <p><b>Note:</b> For some native products (e.g. gcc, Python) the rules of version
555 checking are not so strict as described in the table. Only major and minor numbers of version
556 should coincide with prerequisite. Release number can be larger. It is done for making a possibility
557 to use native products for newer versions of Red Hat (for example, Linux Red Hat 9 includes native
558 gcc 3.2.2 installation).
559 If native product has version number larger than that required by installation procedure,
560 you will be prompted by the warning message like this: "You have newer version of gcc installed
561 on your computer than that is required (3.2). Continue?". You can press "Yes" button
562 to procede with the installation but in this case you should be aware of what you are doing.
563 SALOME binaries (inluding other products) are compiled with the prerequisites from the list
564 and most likely can not be run successfully if this products are not found.
565 This can be only helpful if you intend to build all products from sources.</p>
570 <h3> <a name="pick_up_env"></a>Pick up the <font color="#ff0000">environment</font></h3>
571 Please, read carefully the following information. This section describes
572 how the installation procedure collects environment.
573 <p>After installing each product shell script creates in the product root
574 folder special environment file. The name of the file is generated from
575 the name of product by the following scheme: <b>env_<product_name>.sh.</b>
576 This file includes all necessary product settings. For example for Vtk the
577 file is <b>env_Vtk.sh</b>. Environment files allows to pick up all environment
578 settings which are necessary to build and launch SALOME. When installing SALOME
579 sources and/or binaries, installation procedure picks up all the settings
580 files and generate two scripts: <b>salome.sh</b> and <b>salome.csh </b>for
581 sh and csh correspondingly. Such approach helps to save time when reinstalling
582 products and you may not to care about setting all environment variables
583 manually to build/launch SALOME. What you need is just to use one of these
586 <p>This concerns also those products which are not currently installed. For
587 example, you install some SALOME binaries to the directory where you have
588 previously installed other products. Installation procedure still tries
589 to collect environment files from the target directory if it find necessary
590 products there. If some product is not found in the target directory the corresponding
591 section of <b>salome.sh/salome.csh</b> files will be skipped. <br>
592 For native products (<i><b>gcc, tcl, python, qt, sip, pyqt </b>for RedHat-8.0<b>)</b></i>
593 instal script tries to find them using <b>$PATH</b> / <b>$LD_LIBRARY_PATH</b>
594 variables and then in the system default directories (<b>/usr/bin, /usr/lib</b>
595 etc., depending on the product). </p>
597 <p>In any case you may edit <b>salome.*</b> files after installation procedure
598 finishes, as you want. </p>
601 <h3><a name="xml_files"></a>Modifying <font color="#ff0000">XML</font> configuration
602 <font color="#ff0000">file</font></h3>
603 <font color="#000000">You can create your own configuration. Installation
604 Wizard then can take it as command line argument to provide list of products
605 you want to install with it. The list of products and some another settings
606 for the Installation Wizard are provided in xml file. The default file which
607 Installation Wizard looks for if no command line arguments ar given, is <b>config.xml</b>.
608 This section describes the format of configuration file.</font> <br>
609 <font color="#000000">Xml tags are in bold blue, optional sections/tags
610 are in brackets.</font>
611 <p><b><font color="#000099"><document></font></b> <br>
612 <font color="#000000"><b> </b>[</font><b><font
613 color="#000099"><config</font></b><font color="#000000"> [version=<install_wizard_version>]</font>
615 <font color="#000000">
616 [caption=<install_wizard_caption>]</font> <br>
617 <font color="#000000">
618 [copyright=<install_wizard_copyright>]</font> <br>
619 <font color="#000000">
620 [license=<install_wizard_license_info>]</font> <br>
621 <font color="#000000">
622 [os=<target_platform>]</font><b><font color="#000099">/></font></b><font
623 color="#000000">]</font> <br>
624 <font color="#000000"><b> </b>[</font><b><font
625 color="#000099"><path</font></b><font color="#000000"> [targetdir=<target_directory>]</font>
627 <font color="#000000">
628 [tempdir=<temp_directory>]</font><b><font color="#000099">/></font></b><font
629 color="#000000">]</font> <br>
630 <font color="#000000"> [</font><b><font
631 color="#000099"><product</font></b><font color="#000000"> name=<product_name></font>
633 <font color="#000000">
634 version=<product_version></font> <br>
635
636 [description=<product_description>]<br>
637 <font color="#000000">
638 install=<installation_mode></font> <br>
639 <font color="#000000">
640 supported=<supported_installation_modes></font> <br>
641 <font color="#000000">
642 disable=<disable_flag><br>
643
644 [pickupenv=<pickup_env_flag>]</font><font color="#000000"><br>
645
646 dependancies=<list_of_prerequisites></font> <font
648
649 installdiskspace=<install_disk_space></font> <font
651
652 temporarydiskspace=<tmp_disk_space></font> <font
654
655 script=<installation_script_name></font><font
656 color="#000099">/<b>></b></font><font color="#000000">]</font> <font
658 [</font><b><font color="#000099"><product</font></b><font
659 color="#000000"> ... </font><font color="#000099">/<b>></b></font><font
660 color="#000000">]</font> <font color="#000000"><br>
661 <b> .</b></font><b><font color="#000099">..</font></b>
662 <b><font color="#000099"><br>
663 </document></font></b> </p>
665 <h4><font color="#000000"><config> section</font></h4>
666 <font color="#000000">This is optional section - contains general information
667 Installation Wizard itself.</font>
669 <li> <font color="#000000"><b>version</b>: Installation Wizard's version
671 <li> <font color="#000000"><b>caption</b>: Installation Wizard's main
672 window title - if this string contains '%1' text - the title will contain
673 in this place version number (see above);</font></li>
674 <li> <font color="#000000"><b>copyright</b>: Installation Wizard's copyright
675 information (appears on the first page of program);</font></li>
676 <li> <font color="#000000"><b>license</b>: Installation Wizard's license
677 information (appears on the first page of program);</font></li>
678 <li> <font color="#000000"><b>os</b>: Contains directory name (relative
679 from ./Products/BINARIES) where Installation Wizard should search precompiled
680 binaries packages. If this tag is skipped, binaries are implied to be in
681 the ./Products/BINARIES directory.</font></li>
685 <h4> <b><font color="#000000"><path> section</font></b></h4>
686 This is optional section - contains default directories.
688 <li> <font color="#000000"><b>targetdir</b>: Starting target directory
689 - path to the directory where products should be installed;</font></li>
690 <li> <font color="#000000"><b>tempdir</b>: Starting temp directory -
691 path to the directory for the temporary files.</font></li>
695 <h4> <b><product> section</b></h4>
696 This section describes product to be installed with the Installation Wizard.
697 All tags are obligatory. Products appears in the products tree and are installed
698 in the order they are described in the configuration file. It is recommended
699 to insert native products at the top of the list before all other products.
702 <li> <font color="#000000"><b>name</b>: Name of the product;</font></li>
703 <li> <font color="#000000"><b>version</b>: Version of the product;</font></li>
704 <li><font color="#000000"><span style="font-weight: bold;">description</span>:
705 Description of the product (optional);<br>
707 <li> <font color="#000000"><b>supported</b>: Supported modes of installation,
708 should contain one or more of the following options, separated by comma:
709 <i>install sources</i>, <i>install binaries</i>, <i>use native</i>. Installation
710 script should contain corresponding functions for each of supported installation
712 <li> <font color="#000000"><b>install</b>: Default (starting) installation
714 <li> <font color="#000000"><b>disable</b>: If this flag has 'true' value,
715 corresponding product will not appear in the list of products tree and will
716 not be installed;</font></li>
717 <li><b>pickupenv</b>: This flag points that pickup environment procedure
718 should be performed for this module. If this flag equal to <b>true</b>, salome.sh
719 and salome.csh files will be created in the product's installation
720 directory. This is optional key, default value is <b>false.</b><br>
722 <li> <font color="#000000"><b>dependancies</b>: list of prerequisite
723 products, which are necessary to build this product, separated by comma;</font></li>
724 <li> <font color="#000000"><b>installdiskspace</b>: Total amount space
725 (integer, in Kbytes), which product occupies on the hard drive after the
726 installation;</font></li>
727 <li> <font color="#000000"><b>temporarydiskspace</b>: Disk space (integer,
728 in Kbytes) for the temporary files, which is necessary to build the product
729 from the sources;</font></li>
730 <li> <font color="#000000"><b>script</b>: Installation script name. This
731 script is in charge of installation of the product. It is called when necessary
732 from the main program. See <a href="#new_products">next section</a> for
733 more information.</font></li>
736 <b>Note:</b> If you add new products to be installed with Installation
737 Wizard, you should also provide installation script for this product. See
738 next section for more details.
740 <h3><a name="new_products"></a>Implementing <font color="#ff0000">installation
741 scripts</font> for the new products</h3>
742 When you want some product to be installed with the Installation Wizard,
743 you should add it's description it <a href="#xml_files">in the configuration
744 file</a> and create bash installation script, following described in this
746 There are some obligatory functions to be provided in this installation
747 script. These functions are automatically called by master installation script
748 or/and GUI shell when it is necessary.<br>
749 <font color="#000000">File <b>common.sh</b> contains some service functions
750 which can be used in your installation script, like <b>make_env()</b>,<b>
751 make_dir()</b>, <b>try_existing()</b>, <b>sort_path()</b>,<b> find_in_path()</b>,
754 <li> <b>check_version()</b>: This function allows to check the
755 version of the product already installed on the computer. It should try
756 to find product (native or preinstalled in the target directory) and check
757 it version. This helps to avoid unnecessary reinstallation. This is internal
758 function and is not called</li>
759 <li> <b><font color="#000000">try_native()</font></b><font
760 color="#000099">: </font><font color="#000000">This function is called when
761 <i>'use native' </i>installation mode is selected by the user. The function
762 should try to find native version of the product and define possibility of
763 it usage. Should create environment for the product in the temporary directory
764 (see also description of <b>print_env(</b>) function). If you do not provide
765 native mode installation, you can omit this function.</font></li>
766 <li> <font color="#000000"><b>install_source()</b>: This function is
767 called when <i>'install sources</i>' installation mode is selected by the
768 user. The function is responsible for the building of the product from the
769 sources package. Should create environment for the product in the temporary
770 directory (see also description of <b>print_env(</b>) function). If you do
771 not provide sources mode installation, you can omit this function</font></li>
772 <li> <font color="#000000"><b>install_binary()</b>: This function is
773 called when <i>'install binaries'</i> installation mode is selected by the
774 user. The function is responsible for the extracting of the product from
775 the binaries package. Should create environment for the product in the temporary
776 directory (see also description of <b>print_env(</b>) function). If you do
777 not provide binaries mode installation, you can omit this function.</font></li>
778 <li> <b>try_preinstalled()</b>: <font color="#000000">This function is
779 called when<i> 'not install'</i> installation mode is selected by the user.
780 In this case script should inspect target directory to try to find already
781 preinstalled product, pick up and check environment from there. See <a
782 href="#pick_up_env">here</a> for more details.</font></li>
783 <li> <font color="#000000"><b>print_env()</b>: This function is in charge
784 of creation environment script. It should create file with name </font><b>env_<product_name>.sh</b>
785 in the temporary directory and then copy it into the product installation
786 directory. The file should contain all necessary environment variables settings
787 for the product. It will be collected during the 'pick-up-environment' procedure.</li>
788 <li><b>pickup-env()</b>: This procedure corresponds <b>pickupenv</b> tag
789 of the configuration xml file (see previous section). Should call <b>make_env</b>
790 procedure to perform pick-up environment procedure for the product.<br>
794 <font color="#000000">The calling signature of the product installation
795 script is following:</font> <br>
796 <b><font color="#000000"><product_script_name> <function_name>
797 <temp_folder> <products_directory> <target_directory>
798 <dependancies> <product_name></font></b>
799 <p><font color="#000000">where</font> <br>
800 <font color="#000000"><b><product_script_name></b> - installation
801 script name (described in configuration xml file);</font> <br>
802 <font color="#000000"><b><function_name></b> - the name of function,
803 corresponding to the selected installation mode: <i>try_native, install_source,
804 install_binary</i> or <i>try_preinstalled</i>;</font> <br>
805 <font color="#000000"><b><temp_folder></b> - temporary files directory;</font>
807 <font color="#000000"><b><products_directory></b> - directory where
808 the sources/binaries package can be found. You should provide sources package
809 in the <i><Install_Wizard_root_directory>/Products/SOURCES</i> directory
810 and binaries package in the <i><InstallWizard_root_directory>/Products/BINARIES/<os_version></i>,
811 where <os_version> is target platform description, which appears in
812 the corresponding section of the <a href="#xml_files">configuration xml
813 file</a>.</font> <br>
814 <font color="#000000"><b><target_directory></b> - root target directory
815 where product should be installed to;</font> <br>
816 <font color="#000000"><b><dependancies></b> - single-quoted list
817 of prerequisite products, separated by space;</font> <br>
818 <font color="#000000"><b><product_name> </b>- product name itself.</font>
821 <p><font color="#000000">Example:</font> <br>
822 <i><font color="#000000">med-2.2.2.sh install_binary /tmp/work ./Products/BINARIES/RedHat8.0
823 /usr/salome 'gcc Hdf' med</font></i> </p>
825 <p><font color="#000000">Copy created script into the <i><Install_Wizard_root_directory>/config_files</i>
826 sub-directory where all installation scripts are stored. Installation Wizard
827 will automatically search and call your script during the installation procedure.</font>