1 <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
4 <meta http-equiv="Content-Type"
5 content="text/html; charset=iso-8859-1">
7 content="Mozilla/4.8 [en] (X11; U; Linux 2.4.18-14 i686) [Netscape]">
9 content="Vadim SANDLER (v-sandler@opencascade.com)">
10 <title>SALOME 3 Installation Wizard Help</title>
11 <meta content="Vadim SANDLER" name="author">
13 <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 229);"
14 alink="#ff0000" link="#0000ee" vlink="#551a8b">
17 <table nosave="" width="100%">
21 <h1><a href="http://www.opencascade.com"><img src="logocorp.png"
22 border="0" height="47" width="139"> </a></h1>
26 <h1><font size="+4"><font color="#000099">SALOME Installation
27 Wizard Help</font> </font></h1>
31 <div align="right"><a href="http://www.opencascade.org/SALOME/"><img
32 src="application.png" border="0" height="47" width="109"> </a></div>
38 <div align="right"><b><font color="#000099">updated for the version </font><font
39 color="#ff0000">3.1.0a2</font></b></div>
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
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>
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
60 <p><b>[ python ] runInstall [ -g | -b ] [ -f <xml-file> ] [ -t
61 <target-dir> ] [ -tmp <tmp-dir> ]</b> </p>
63 Runs the Installation Wizard in the
65 mode (default option). In this case only<span style="font-weight: bold;">
66 <xml-file></span> key is taken into account.
67 Other parameters are ignored. <br>
69 Runs the Installation Wizard in
70 command-line mode. <br>
71 <b>-f <xml-file></b><br>
72 The configuration file to be used by
74 Installation Wizard. If this parameter is missed then the script
76 to define the <i>Linux </i>version and uses corresponding xml file.
78 examle, for the <i>Linux Mandrake 10.1</i> <b>config_Mandrake_10.1.xml</b>
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. 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
86 <b>-t <target-dir></b><br>
87 The target directory, SALOME platform
89 be installed to. If used, overloads default target directory, given in
92 xml file (usually <span style="font-weight: bold;">/salome</span>, see
93 <a href="#xml_files">here</a>). <br>
94 <b>-tmp <tmp-dir></b><br>
95 The directory, which is used to
96 contain temporary files. If used, overloads default temporary
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>
103 Prints help information. <br>
105 <p>The installation procedure can support some different Linux
107 and various number of products. As it was mentioned above the basic
108 target platform for SALOME 3.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
118 3.3.3 </i></b>library. The program contains
119 several pages. To navigate between pages use <i>"Next"</i> and <i>"Back"</i>
121 lower part of the wizard window. <i>"Cancel"</i> button closes dialog
123 and quits the installation procedure. To invoke this help information
125 <i>"Help"</i> button. </p>
126 <p>Skip the first <i>"Introduction"</i> page by pressing <i>"Next"</i>
129 <center><a name="IntroPage"></a><br>
130 <img alt="Intro page" src="intropage.png"
131 style="width: 586px; height: 347px;">
132 <p><b>Figure 1:</b> "Introduction" page</p>
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
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
160 For example, in order to install <b><i>PyQt</i></b> it's necessary to
162 <b><i>gcc, Python</i></b>,<b><i> Qt</i></b> and <b><i>Sip</i></b>
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. Turn on this checkbox if you
167 want all pre-requisite products to be automatically checked when you
168 select some product to be installed. Turn off this checkbox if you
169 want to disable this feature.<br><br>
170 Special button in the right part of the page - <i>"Unselect All" </i>-
171 allows to reset quickly all products to the <i>"not install"</i>
173 If you want to use native products (like <span
174 style="font-weight: bold;">gcc</span>, <span
175 style="font-weight: bold;">tcl</span>, etc.), select <i>"use native" </i>option.
177 <p>There are also two checkboxes on this page: <i>"SALOME sources"</i>
178 and <i>"SALOME binaries"</i>.
179 These three-state checkboxes allow quick selecting/unselecting SALOME
181 for the installation.</p>
182 <p>The box at the right side of the page displays the information about
183 currently highlighted product: name, version, short description (if
184 provided in XML file), required
185 disk space, disk space required for temporary files, list of
186 prerequisites and current user
189 <center><a name="ProductPage"></a><br>
190 <img src="productpage.png" alt="Products page"
191 style="width: 586px; height: 544px;">
192 <p><b>Figure 2:</b> "Installation settings" page in the advanced mode</p>
194 <p>The <i>"Total disk space required:"</i> field displays how much
195 disk space on the hard drive is required for installation of selected
197 <b>Note: </b>Please, take into account that displayed amount of
198 required disk space is approximate and may differ when you install
199 products on your hard drive. </p>
200 <p>The installation procedure uses a special directory to store
201 temporary files. The <i>"Space for temporary files:"</i> field shows
202 the information about required disk space on the hard drive for
203 extracting and compiling of the selected products. You can change the
204 default directory - just type path
205 to the folder you want to use or click on the corresponding <i>"Browse..."</i>
207 <span style="font-weight: bold;">Note:</span> actually temporary files
208 are stored not in the directory entered by user. The Installation
209 Wizard creates in this directory an additional one folder named
210 something like INSTALLWORK<span style="font-weight: bold;">XXXXX</span>
211 where XXXXX is unique number. This allows to launch several
212 Installation Wizards simultaneously. This temporary directory is
213 removed automaticaly when the installation finishes.<br>
215 <p>The installation procedure also checks available disk space on the
216 selected directories according to the products selected. If there is no
217 enough disk space on your hard drive you will see the corresponding
218 error message box. </p>
219 <p><b>Note: </b>Unfortunately, the configure procedure has a very
220 annoying bug under Linux platform. The directory should be obligatory
221 entered without spaces. For example, the configure procedure for <b><i>gcc</i></b>
223 work if you pass the following parameter: <i>--prefix="/New Folder 1"</i>.
224 <b>Therefore you are strongly recommended not to use directory names
227 <p>To proceed further click <i>"Next"</i> button. At this moment
229 will make some tests to check installation settings: if there is enough
231 space on the hard drive, if native products are preinstalled,
233 (prerequisites) for each product you have selected to be
235 If any test fails you will see the corresponding warning message box.
237 wizard will follow to the next page: </p>
239 <p><a name="ChoicePage"></a><br>
240 <img src="choicepage.png" alt="Choice page"
241 style="width: 586px; height: 544px;"> </p>
242 <p><b>Figure 3:</b> "Check your choice" page</p>
244 <p>This page summarizes the installation settings you've made on the
245 previous pages. You can check again your choice to change it if
247 When you are sure that everything is OK, press <i>"Next"</i> button to
248 follow to the <a href="#ProgressPage">next page</a>. </p>
249 <center><a name="ProgressPage"></a><br>
250 <img src="progresspage.png" alt="Progress page"
251 style="width: 586px; height: 544px;">
252 <p><b>Figure 4:</b> "Installation progress" page</p>
254 <p>To start installation of the selected products click <i>"Start"</i>
255 button. It launches the shell installation script and you will be able
256 to see the output of the script in the topmost dialog's frame. If any errors
257 occur during the installation the progress the corresponding messages
258 will be printed to the log grame window in the bold red font.
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>"
267 <p>You can abort installation and close the installation procedure
269 <i>"Cancel"</i> button. It sends the signal "SIGTERM" to the shell
271 The script has a signal handler and will try to clear all temporary
273 The process of removing temporary files can take some time, so the
275 wizard will wait 3 seconds before closing. </p>
276 <p>At the end of installation (all selected products have been
278 successfully) you can go back to the previous pages to start a new
280 or click <i>"Next"</i> button to go the Readme page: </p>
282 <p><a name="readmepage"></a><br>
283 <img src="readmepage.png" alt="Readme page"
284 style="width: 586px; height: 544px;"> </p>
285 <p><b>Figure 5:</b> "Finish installation" page</p>
287 <p>In this page you can read important information about the
289 Wizard itself and some hints: how to run and test SALOME or how to
291 SALOME from the sources. This is the contents of the README file which
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
298 environment files to simplify procedure of launching SALOME. These
300 all necessary environment variables for all products you have
302 To learn how installation scripts collects the environment, see <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>
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>
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
328 <table nosave="" border="1" width="100%">
332 <center><font size="+1">Product</font></center>
335 <center><font size="+1">Algorithm of checking</font></center>
338 <center><font size="+1">Preliminary steps before launching</font>
340 <font size="+1">of installation procedure</font></center>
343 <center><font size="+1">Notes</font></center>
348 <td><span style="font-weight: bold;">ver</span>=`gcc -dumpversion`</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>
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
364 <span style="font-weight: bold;">5)</span> existence of
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>
372 <td>Unfortunately there is no more strict way to check the tcl
374 It is recommended to use native tcl/tk on Mandrake 10.1.</td>
377 <td valign="top">boost 1.31.0<br>
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>
386 <td valign="top">set <span style="font-weight: bold;">BOOSTDIR</span>
387 if you have preinstalled version of
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
397 <td>Open CASCADE 6.0<br>
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> ver_maint=`grep
408 "!define OCC_VERSION_MAINTENANCE"
409 ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`<br>
410 <span style="font-weight: bold;">5)</span> <span
411 style="font-weight: bold;">ver</span>="$ver_major.$ver_minor.$ver_maint"<br>
413 <td>set <span style="font-weight: bold;">CASROOT</span> if you
414 have preinstalled version of Open CASCADE</td>
415 <td>CASCADE's Standard_Version.hxx file provides version
417 <span style="font-weight: bold;">ver</span> should be equal to
422 <td>Python 2.3.4</td>
423 <td><span style="font-weight: bold;">1)</span> <span
424 style="font-weight: bold;">PYTHONHOME</span> variable should be set<br>
425 <span style="font-weight: bold;">2)</span> isPython=`which
427 <span style="font-weight: bold;">3)</span> <span
428 style="font-weight: bold;">ver</span>=`python -V`</td>
429 <td>set <span style="font-weight: bold;">PYTHONHOME</span> to
430 root Python distribution folder;<br>
431 add the directory where python can be found to the <span
432 style="font-weight: bold;">PATH</span> variable<br>
434 <td>Python should exist and <span style="font-weight: bold;">ver</span>
435 should be equal to 2.3.4 <br>
436 It is recommended to use native Python on Mandrake 10.1.</td>
440 <td><span style="font-weight: bold;">ver</span>=`swig -version
441 2>&1 | grep -i version | awk '{ print $3 }' | sed -e
442 's/^\([0-9.]*\)\(.*\)/\1/'`</td>
443 <td>add the directory where swig binary can be found to the <span
444 style="font-weight: bold;">PATH</span> variable</td>
445 <td>Swig should exist and <span style="font-weight: bold;">ver</span>
446 should be equal to 1.3.24.</td>
450 <td><span style="font-weight: bold;">1) QTDIR</span> variable
452 <span style="font-weight: bold;">2) ver</span>=`grep
453 "QT_VERSION_STR" ${QTDIR}/include/qglobal.h | sed -e
454 's%^#define QT_VERSION_STR\([[:space:]]*\)%%g' -e 's%\"%%g'`</td>
455 <td>set <span style="font-weight: bold;">QTDIR</span> if you
456 have preinstalled version of qt</td>
457 <td>Qt's qglobal.h file provides version information: <span
458 style="font-weight: bold;">ver</span> should
459 be equal to 3.0.5.<br>
460 It is recommended to use native Qt on Mandrake 10.1.</td>
463 <td style="vertical-align: top;">msg2qm (Qt 3.3.3 compatible)<br>
465 <td style="vertical-align: top;"><span style="font-weight: bold;">MSG2QM_ROOT</span>
466 variable should be set.<br>
468 <td style="vertical-align: top;">set <span
469 style="font-weight: bold;">MSG2QM_ROOT</span> if you have preinstalled
470 version of msg2qm tool<br>
472 <td style="vertical-align: top;">msg2qm is Qt tool used to
473 convert text *.po files to *.qm resource files. Unfortunately this tool
474 is not included to the Qt distribution and provided only in its sources
475 package. We distribute this tool with the Installation Wizard.<br>
476 In addition there is no way to check the version number of msg2qm tool.<br>
480 <td>Qwt 4.2.0/0.4.2</td>
481 <td><span style="font-weight: bold;">1)</span> <span
482 style="font-weight: bold;">QWTHOME</span> variable should be set.<br>
483 <span style="font-weight: bold;">2)</span> check if
484 libqwt.so.4.2.0 exists<br>
486 <td>set <span style="font-weight: bold;">QWTHOME</span> if
487 you have preinstalled version of qwt</td>
488 <td>Unfortunately there is no strict way to check qwt version
490 We try to find libqwt.so.4.2.0 in the ${<span style="font-weight: bold;">QWTHOME</span>}/lib
495 <td><span style="font-weight: bold;">1) HDF5HOME</span> variable
497 <span style="font-weight: bold;">2)</span> existence of
498 libhdf5.so.0.0.0 <br>
499 <span style="font-weight: bold;">3)</span> existence of
501 <span style="font-weight: bold;">4)</span> <span
502 style="font-weight: bold;">ver</span>=`grep "HDF5 Version:"
503 ${HDF5HOME}/lib/libhdf5.settings | awk
505 <td>set <span style="font-weight: bold;">HDF5HOME</span> if you
506 have preinstalled version of hdf</td>
507 <td>We try to find libhdf5.so.0.0.0 and libhdf5.settings in
508 ${<span style="font-weight: bold;">HDF5HOME</span>}/lib folder. <br>
509 File libhdf5.settings contains the following version information: <br>
510 HDF5 Version: 1.6.3</td>
514 <td><span style="font-weight: bold;">1) MED2HOME</span> variable
516 <span style="font-weight: bold;">2)</span> existence of
518 <td>set <span style="font-weight: bold;">MED2HOME</span> if you
519 have preinstalled version of med</td>
520 <td>Unfortunately there is no strict way to check med version
522 We try to find libmed.so.1.0.1 in ${<span style="font-weight: bold;">MED2HOME</span>}/lib
524 If you have problem with preinstalled version of med reinstall it.</td>
528 <td><span style="font-weight: bold;">1) VTKHOME</span> variable
530 <span style="font-weight: bold;">2)</span> existence of
532 <td>set <span style="font-weight: bold;">VTKHOME</span> if you
533 have preinstalled version of vtk</td>
534 <td>Unfortunately there is no strict way to check VTK version
536 We try to find libvtkCommon.so in ${<span style="font-weight: bold;">VTKHOME</span>}/lib/vtk
538 If you have problem with preinstalled version of vtk reinstall it.</td>
541 <td valign="top">Netgen 4.3<br>
543 <td valign="top"><span style="font-weight: bold;">NETGENROOT</span>
544 variable should be set. </td>
545 <td valign="top">set <span style="font-weight: bold;">NETGENROOT</span>
546 if you have preinstalled version
549 <td valign="top">Unfortunarely we can't find anything about
551 We just check if <span style="font-weight: bold;">NETGENROOT</span>
552 environment varible is set.<br>
556 <td>OmniORB 4.0.5, <br>
559 <td><span style="font-weight: bold;">1) OMNIORBDIR</span>
560 variable should be set.<br>
561 <span style="font-weight: bold;">2)</span> existence of
562 libomniORB4.so.0.5 <br>
563 <span style="font-weight: bold;">3)</span> existence of
564 _omnipymodule.so.2.4 <br>
565 <span style="font-weight: bold;">4)</span> existence of
566 libCOSNotify4.so.0.1 <br>
567 <span style="font-weight: bold;">5)</span> existence of notifd<br>
569 <td>set <span style="font-weight: bold;">OMNIORBDIR</span> if
570 you have preinstalled version of omni</td>
571 <td>We try to find several omni libraries and binaries in the ${<span
572 style="font-weight: bold;">OMNIORBDIR</span>}/lib and ${<span
573 style="font-weight: bold;">OMNIORBDIR</span>}/bin directories.<br>
578 <td>Numeric 23.7</td>
579 <td><span style="font-weight: bold;">ver</span>=`python -c
580 'import Numeric; print Numeric.__version__'
582 <td>add the directory where <span style="font-weight: bold;"></span>you
583 have preinstalled version of Numeric
584 package to your <span style="font-weight: bold;">PYTHONHOME </span>variable<span
585 style="font-weight: bold;"><br>
587 <td>If you have problem with preinstalled version of Numeric 23.7
593 <td><span style="font-weight: bold;">1) SIPDIR</span> variable
595 <span style="font-weight: bold;">2) ver</span>=`${SIPDIR}/sip -V
596 | awk '{print $1}'`</td>
597 <td>set <span style="font-weight: bold;">SIPDIR</span> to
598 directory where you have sip preinstalled</td>
599 <td><span style="font-weight: bold;">ver</span> should be equal
606 <td><span style="font-weight: bold;">1) PYQTDIR</span> variable
608 <span style="font-weight: bold;">2)</span> existence of qt.so
611 <td>set <span style="font-weight: bold;">PYQTDIR</span> to
612 directory where you have PyQt preinstalled</td>
613 <td>Unfortunately we can't check exact PyQt version number. <br>
614 We just try to find qt.so in ${<span style="font-weight: bold;">PYQTDIR</span>}.
619 <td>HappyDoc 2.1</td>
620 <td><span style="font-weight: bold;">1)</span> existence of
622 <span style="font-weight: bold;">2)</span> <span
623 style="font-weight: bold;">ver</span>=`happydoc | grep "HappyDoc
625 <td>add the directory where you have HappyDoc
626 installed to your <span style="font-weight: bold;">PATH</span>
629 <td>We try to find happydoc in ${<span style="font-weight: bold;">PATH</span>}.
631 <span style="font-weight: bold;">ver</span> should not be empty. <br>
633 <span style="font-weight: bold;">Note:</span> this product is not
634 obligatory for SALOME compilation.<br>
638 <td>Doxygen 1.3.7</td>
639 <td><span style="font-weight: bold;">1)</span> existence of
641 <span style="font-weight: bold;">2)</span> existence of doxytag <br>
642 <span style="font-weight: bold;">3)</span> existence of doxywizard<br>
643 <span style="font-weight: bold;">4)</span> <span
644 style="font-weight: bold;">ver</span>=`doxygen --version`</td>
645 <td>add the directory where you have doxygen binaries
646 preinstalled to the <span style="font-weight: bold;">PATH</span>
648 <td>doxygen, doxytag, doxywizard binaries should
649 exist; <span style="font-weight: bold;">ver</span> should be equal to
652 If you have problem with preinstalled version of doxygen
655 It is recommended to use native doxygen on Mandrake 10.1.<br>
659 <td>Graphviz 2.2.1<br>
661 <td><span style="font-weight: bold;">1)</span> existence of dot
663 <span style="font-weight: bold;">2)</span> <span
664 style="font-weight: bold;">ver</span>=`dot -V 2>&1 | awk
666 <td>add graphviz bin directory to the <span
667 style="font-weight: bold;">PATH</span> environment variable</td>
668 <td>We try to find dot program in the ${<span
669 style="font-weight: bold;">PATH</span>}.<br>
670 <span style="font-weight: bold;">ver</span> should be equal to
675 <td><span style="font-weight: bold;">MODULE</span> binaries<br>
676 (where <span style="font-weight: bold;">MODULE</span> = KERNEL, GUI,
679 <td><span style="font-weight: bold;">1) MODULE_ROOT_DIR</span>
680 variable should be set<br>
681 <span style="font-weight: bold;">2)</span> existence of VERSION
683 <span style="font-weight: bold;">3) ver</span>=`cat ${<span
684 style="font-weight: bold;">MODULE_ROOT_DIR</span>}/bin/salome/VERSION
685 | awk -F: '{print $NF}' |
686 tr -d '[:space:]'`</td>
687 <td>set <span style="font-weight: bold;">MODULE_ROOT_DIR</span>
688 if you have preinstalled binaries of <span style="font-weight: bold;">MODULE</span>.</td>
689 <td><span style="font-weight: bold;">MODULE</span> binaries
690 should exist and <span style="font-weight: bold;">ver</span> should be
691 equal to <version>, where <version> is version number
696 <td><span style="font-weight: bold;">MODULE</span> sources<br>
697 (where <span style="font-weight: bold;">MODULE</span> = KERNEL, GUI,
700 <td><span style="font-weight: bold;">1)</span> existence of <span
701 style="font-weight: bold;">MODULE_SRC_DIR</span> <br>
702 <span style="font-weight: bold;">2)</span> existence of VERSION
704 <span style="font-weight: bold;">3) ver</span>=`cat ${<span
705 style="font-weight: bold;">MODULE_SRC_DIR</span>}/bin/VERSION | awk
706 -F: '{print $NF}' | tr -d
708 <td>set <span style="font-weight: bold;">MODULE_SRC_DIR</span>
709 if you have preinstalled sources of <span style="font-weight: bold;">MODULE</span>.<br>
711 <td><span style="font-weight: bold;">MODULE</span> sources should
712 exist and ver should be equal to <version>, where <version> is version number
713 being installed.</td>
717 <p><b>Note:</b> For native products installation procedure sets proper
718 environment variables itself, and you do not need to set such variables
719 like, e.g. <b>TCLHOME</b> or <b>PYTHONHOME</b>. <br>
720 If you have native products installed to different from default
721 directories (not <b>/usr/bin</b>, <b>/usr/lib</b>...), it is
722 recommended to follow above description. Or you should set properly <span
723 style="font-weight: bold;">PATH</span> and <span
724 style="font-weight: bold;">LD_LIBRARY_PATH</span> variables <b><font
725 color="#ff0000">before</font></b>
726 starting Installation Wizard. Otherwise
727 installation script will fail to find preinstalled products. </p>
728 <p><b>Note:</b> For some native products (e.g. gcc, Python) the rules
730 checking are not so strict as described in the table. Only major and
731 minor numbers of version
732 should coincide with prerequisite. Release number can be larger. It is
733 done for making a possibility
734 to use native products for newer versions of Linux.
735 If some native product has version number larger than that required by
737 installation procedure, user will be prompted by the warning message
738 like this: <i>"You have
739 newer version of gcc installed
740 on your computer than that is required (3.4.1). Continue?"</i>. You can
741 press <i>"Yes"</i> button
742 to procede with the installation but in this case you should be aware
743 of what you are doing.
744 SALOME binaries (including other products) are compiled with the
745 predefined prerequisites
746 and most likely can not be run successfully if these products are not
748 This can be only helpful if you intend to build all products from
752 <h3> <a name="pick_up_env"></a>Pick up the <font color="#ff0000">environment</font></h3>
753 Please, read carefully the following information. This section
754 describes how the installation procedure collects the environment.
755 <p>After installing each product shell script creates special
756 environment file for each product in its target folder . The name of
757 the file is generated
759 the name of product by the following scheme: <b>env_<product_name>.sh.</b>
760 This file includes all necessary product settings. For example for Vtk
761 the file is <b>env_Vtk.sh</b>. Environment files allows to pick up all
762 environment settings which are necessary to build and launch SALOME.
763 When installing SALOME
764 sources and/or binaries, installation procedure picks up all the
765 settings files and generate two scripts: <b>salome.sh</b> and <b>salome.csh
766 </b>for sh and csh correspondingly. Such approach helps to save time
767 when reinstalling products and you may not to care about setting all
768 environment variables
769 manually to build/launch SALOME. What you need is just to use one of
772 <p>This concerns also those products which are not currently installed.
773 For example, you install some SALOME binaries to the directory where
774 you have previously installed other products. Installation
775 procedure still tries to collect environment files from the target
776 directory if it finds necessary products there. If some product is not
777 found in the target directory the corresponding
778 section of <b>salome.sh/salome.csh</b> files will be skipped. <br>
779 For native products (like <i><b>gcc, tcl, etc...</b><b>)</b></i>
780 installation procedure tries to find them first using <b>PATH</b>
781 / <b>LD_LIBRARY_PATH</b> variables and then in the system default
782 directories (<b>/usr/bin, /usr/lib</b> etc., depending on the product).
784 <p>In any case you may edit <b>salome.*</b> files after installation
785 procedure finishes, as you want.<br>
786 <span style="font-weight: bold;">Note:</span> as it was mentioned <a
787 href="#env_files">above</a> there are two more environment files which
788 are generated by the installation procedure: <span
789 style="font-weight: bold;">env_products.csh</span> and <span
790 style="font-weight: bold;">env_products.sh</span>. These files can be
791 found in the target installation root directory.<br>
794 <h3><a name="xml_files"></a>Modifying <font color="#ff0000">XML</font>
795 configuration <font color="#ff0000">file</font></h3>
796 <font color="#000000">You can create your own configuration file.
797 Installation Wizard then can take it as command line argument to
798 provide list of products you want to install with it. The list of
799 products and some another settings for the Installation Wizard are
800 provided in XML file. The default file which Installation Wizard looks
801 for if no command line arguments are given, is <b>config.xml</b>. This
802 section describes the structure of the configuration file.</font> <br>
803 <font color="#000000">XNL tags are in bold blue, optional sections/tags
804 are in brackets.</font>
805 <font face="Courier"><p><b><font color="#000099"><document></font></b>
807 <font color="#000000"><b> </b>[</font><b><font
808 color="#000099"> <config</font></b><font color="#000000">
809 [ version=<install_wizard_version> ]</font> <br>
810 <font color="#000000">
811 [
812 caption=<install_wizard_caption> ]</font> <br>
813 <font color="#000000">
814 [
815 copyright=<install_wizard_copyright> ]</font> <br>
816 <font color="#000000">
817 [
818 license=<install_wizard_license_info> ]</font> <br>
819 <font color="#000000">
820 [ os=<target_platform>
821 ]</font><b><font color="#000099"><br>
822 /></font></b><font color="#000000"> <br>
823 ]</font> <br>
824 <font color="#000000"><b> </b>[ </font><b><font
825 color="#000099"><path</font></b><font color="#000000">
826 [ targetdir=<target_directory> ]</font> <br>
827 <font color="#000000">
828
829 [ tempdir=<temp_directory> ]</font><b><font
831 /> </font></b><font color="#000000"><br>
832 ]</font> <br>
833 <font color="#000000"> [</font><b><font
834 color="#000099"> <product</font></b><font color="#000000">
835 name=<product_name></font> <br>
836 <font color="#000000">
837
838 version=<product_version></font> <br>
839 [
840 context=<product_context>
842 [
843 description=<product_description> ]<br>
844 <font color="#000000">
845
846 install=<installation_mode></font> <br>
847 <font color="#000000">
848
849 supported=<supported_installation_modes></font> <br>
850 <font color="#000000">
851 disable=<disable_flag><br>
852 [
853 pickupenv=<pickup_env_flag> ]</font><font
855
856
857 dependancies=<list_of_prerequisites></font> <font
859
860 installdiskspace=<install_disk_space></font>
861 <font color="#000000"><br>
862
863 temporarydiskspace=<tmp_disk_space></font> <font
865
866 script=<installation_script_name></font><font
868 /<b>></b></font><font color="#000000">
870 ]</font> <font color="#000000"><br>
871 [</font><b><font color="#000099"> <product</font></b><font
872 color="#000000"> ... </font><font color="#000099"><br>
873 /<b>></b></font><font color="#000000">
875 ]</font> <font color="#000000"><br>
876 <b> .</b></font><b><font color="#000099">..</font></b>
877 <b><font color="#000099"><br>
878 </document></font></b> </p></font>
879 <h4><font color="#000000"><config> section</font></h4>
880 <font color="#000000">This is optional section - contains general
881 information Installation Wizard itself.</font>
883 <li> <font color="#000000"><b>version</b>: Installation Wizard's
884 version number;</font></li>
885 <li> <font color="#000000"><b>caption</b>: Installation Wizard's
887 window title - if this string contains '%1' text - the title will
889 in this place version number (see above);</font></li>
890 <li> <font color="#000000"><b>copyright</b>: Installation Wizard's
891 copyright information (appears on the first page of program);</font></li>
892 <li> <font color="#000000"><b>license</b>: Installation Wizard's
893 license information (appears on the first page of program);</font></li>
894 <li> <font color="#000000"><b>os</b>: Contains directory name
895 (relative from ./Products/BINARIES) where Installation Wizard should
896 search precompiled binaries packages. If this tag is skipped, binaries
898 the ./Products/BINARIES directory.</font></li>
900 <h4> <b><font color="#000000"><path> section</font></b></h4>
901 This is optional section - contains default directories.
903 <li> <font color="#000000"><b>targetdir</b>: Starting target
904 directory - path to the directory where products should be installed;</font></li>
905 <li> <font color="#000000"><b>tempdir</b>: Starting temp directory -
906 path to the directory for the temporary files.</font></li>
908 <h4> <b><product> section</b></h4>
909 This section describes product to be installed with the Installation
910 Wizard. Products appear in the products tree
911 and are installed in the order they are described in the configuration
912 file. It is recommended to insert native products at the top of the
913 list before all other products.
915 <li> <font color="#000000"><b>name</b>: Name of the product;</font></li>
916 <li> <font color="#000000"><b>version</b>: Version of the product;</font></li>
917 <li> <font color="#000000"><b>description</b>: Description of the
918 product (optional);</font></li>
919 <li> <font color="#000000"><b>context</b>: Context of the product
920 (optional); the possible values are <b>'salome sources'</b>, <b>'salome
921 binaries'</b> and <b>'prerequisite'</b>;</font></li>
922 <li> <font color="#000000"><b>supported</b>: Supported modes of
923 installation, should contain one or more of the following options,
924 separated by comma: <i>install sources</i>, <i>install binaries</i>, <i>use
925 native</i>. Installation script should contain corresponding functions
926 for each of supported installation modes;</font></li>
927 <li> <font color="#000000"><b>install</b>: Default (starting)
928 installation mode;</font></li>
929 <li> <font color="#000000"><b>disable</b>: If this flag has 'true'
930 value, corresponding product will not appear in the list of products
931 tree and will not be installed;</font></li>
932 <li><b>pickupenv</b>: This flag points that pickup environment
934 should be performed for this module. If this flag equal to <b>true</b>,
936 and salome.csh files will be created in the product's
938 directory. Usually this option is set to true for SALOME KERNEL module
939 sources and binaries pakcge. This is optional key, default value is <b>false.</b><br>
941 <li> <font color="#000000"><b>dependancies</b>: list of prerequisite
942 products, which are necessary to build this product, separated by comma;</font></li>
943 <li> <font color="#000000"><b>installdiskspace</b>: Total amount
944 space (integer, in Kbytes), which product occupies on the hard drive
946 installation;</font></li>
947 <li> <font color="#000000"><b>temporarydiskspace</b>: Disk space
948 (integer, in Kbytes) for the temporary files, which is necessary to
949 build the product from the sources;</font></li>
950 <li> <font color="#000000"><b>script</b>: Installation script name.
951 This script is in charge of installation of the product. It is called
952 when necessary from the main program. See <a href="#new_products">next
954 more information.</font></li>
956 <b>Note:</b> If you add new products to be installed with Installation
957 Wizard, you should also provide installation script for this product.
959 next section for more details.
961 <h3><a name="new_products"></a>Implementing <font color="#ff0000">installation
962 scripts</font> for the new products</h3>
963 When you want some product to be installed with the Installation
964 Wizard, you should add it's description it <a href="#xml_files">in the
965 configuration file</a> and create bash installation script, following
966 described in this section rules. <br>
967 There are some obligatory functions to be provided in this installation
968 script. These functions are automatically called by master installation
970 or/and its GUI shell when it is necessary.<br>
971 <font color="#000000">File <b>common.sh</b> contains some service
973 which can be used in your installation script, like <b>make_env()</b>,<b>
974 make_dir()</b>, <b>try_existing()</b>, <b>sort_path()</b>,<b>
978 <li> <b>check_version()</b>: This function allows to check the
979 version of the product already installed on the computer. It should try
980 to find product (native or preinstalled in the target directory) and
982 it version. This helps to avoid unnecessary reinstallation. This is
984 function and is not called</li>
985 <li> <b><font color="#000000">try_native()</font></b><font
986 color="#000099">: </font><font color="#000000">This function is
987 called when <i>'use native' </i>installation mode is selected by the
988 user. The function should try to find native version of the product and
989 define possibility of it usage. Should create environment for the
990 product in the temporary directory (see also description of <b>print_env(</b>)
991 function). If you do not provide native mode installation, you can omit
992 this function.</font></li>
993 <li> <font color="#000000"><b>install_source()</b>: This function is
994 called when <i>'install sources</i>' installation mode is selected by
996 user. The function is responsible for the building of the product from
998 sources package. Should create environment for the product in the
1000 directory (see also description of <b>print_env(</b>) function). If
1002 not provide sources mode installation, you can omit this function</font></li>
1003 <li> <font color="#000000"><b>install_binary()</b>: This function is
1004 called when <i>'install binaries'</i> installation mode is selected by
1006 user. The function is responsible for the extracting of the product
1008 the binaries package. Should create environment for the product in the
1010 directory (see also description of <b>print_env(</b>) function). If
1012 not provide binaries mode installation, you can omit this function.</font></li>
1013 <li> <b>try_preinstalled()</b>: <font color="#000000">This function
1014 is called when<i> 'not install'</i> installation mode is selected by
1015 the user. In this case script should inspect target directory to try to
1016 find already preinstalled product, pick up and check environment from
1017 there. See <a href="#pick_up_env">here</a> for more details.</font></li>
1018 <li> <font color="#000000"><b>print_env()</b>: This function is in
1019 charge of creation environment script. It should create file with name </font><b>env_<product_name>.sh</b>
1020 in the temporary directory and then copy it into the product
1021 installation directory. The file should contain all necessary
1022 environment variables settings for the product. It will be collected
1023 during the 'pick-up-environment' procedure.</li>
1024 <li><b>pickup_env()</b>: This procedure corresponds <b>pickupenv</b>
1026 of the configuration xml file (see previous section). Should call <b>make_env</b>
1027 procedure to perform pick-up environment procedure for the product.<br>
1030 <font color="#000000">The calling signature of the product installation
1031 script is following:</font> <br>
1032 <b><font color="#000000"><product_script_name>
1033 <function_name> <temp_folder> <products_directory>
1034 <target_directory>
1035 <dependancies> <product_name></font></b>
1036 <p><font color="#000000">where</font> <br>
1037 <font color="#000000"><b><product_script_name></b> - installation
1038 script name (described in configuration xml file);</font> <br>
1039 <font color="#000000"><b><function_name></b> - the name of
1040 function, corresponding to the selected installation mode: <i>try_native,
1041 install_source, install_binary</i> or <i>try_preinstalled</i>;</font> <br>
1042 <font color="#000000"><b><temp_folder></b> - temporary files
1043 directory;</font> <br>
1044 <font color="#000000"><b><products_directory></b> - directory
1045 where the sources/binaries package can be found. You should provide
1046 sources package in the <i><Install_Wizard_root_directory>/Products/SOURCES</i>
1047 directory and binaries package in the <i><InstallWizard_root_directory>/Products/BINARIES/<os_version></i>,
1048 where <os_version> is target platform description, which appears
1049 in the corresponding section of the <a href="#xml_files">configuration
1051 file</a>.</font> <br>
1052 <font color="#000000"><b><target_directory></b> - root target
1053 directory where product should be installed to;</font> <br>
1054 <font color="#000000"><b><dependancies></b> - single-quoted list
1055 of prerequisite products, separated by space;</font> <br>
1056 <font color="#000000"><b><product_name> </b>- product name
1058 <p><font color="#000000">Example:</font> <br>
1059 <i><font color="#000000">med-2.2.2.sh install_binary /tmp/work
1060 ./Products/BINARIES/Mandrake10.1 /usr/salome 'gcc Hdf' med</font></i> </p>
1061 <p><font color="#000000">Copy created script into the <i><Install_Wizard_root_directory>/config_files</i>
1062 sub-directory where all installation scripts are stored. Installation
1064 will automatically search and call your script during the installation