Installing SALOME platform 



Installing products using install script directly

To run installation using the install script, type in the command line of a terminal window:

 

./install [options] <target-directory> [ [ALL] | <product> ... <product> ]

 

Available options are the following:

--binaries is not an obligatory parameter.  If you pass this parameter all products will be extracted from the precompiled archives. Otherwise all products will be installed and built from the sources using gnu make procedure.
 

Take into account that target platform for precompiled binaries is Linux Red Hat 8.0. If you want to install SALOME onto another Linux version, you should use sources installation mode.

 

--reinstall is an optional parameter. Use this parameter if you want to reinstall products you have already installed.

 

--update is an optional parameter. Pass this parameter to the script if you want your profile to be updated by the installation script. This option is used only when SALOME sources and/or SALOME binaries are installed.

 

--native is optional parameter. This option states the way the installation procedure picks up the environment for the products which are not currently installed. When this option is used, the installation script first tries to find and use native products. If necessary products are not found in /usr/bin and /usr/lib directories, script looks for them in the target directory. If the option is not used (default behaviour), the script first inspects the target directory and the system folders.
For more detail information see here.

 

--with-mesa is also optional parameter. This parameter forces linking VTK and Qt with Mesa library and is not taken into account if Mesa library is not installed in the target directory.

 

--temp is optional parameter, the directory path must follow it. This directory is used for temporary files. By default script uses /tmp folder. You can change this directory if you doesn't have sufficient amount of disk space in the /tmp folder.
 

The directory you point should exist and must be an absolute path, otherwise installation script will fail.

 

<target-directory> is the only obligatory parameter and should be an absolute path. This will be the root directory for installing products.

 

This directory should exist. <target-directory> and temp directory must not coincide to avoid collisions.

 

<product> ... <product> are the symbolic names of the installing products.
Prerequisite products are gcc tcl cas python numeric swig mesa qt qwt sip pyqt hdf med omni vtk salomebin salomesources salomedoc
Additional bonus products are doxygen graphviz happydoc

You can also use ALL parameter to install all supplied products at once.

 

If you want to use native products do not add them into the script parameters. You should also use --native option in this case.

 

--help or -h key will print this information.


Installing products using Installation Wizard

Actually you can install all necessary products with help of the install script. But it's not convenient because you have to enter in the command line all parameters used by this script in a strictly definite order. You are strongly recommended to use Installation Wizard program. It represents a GUI superstructure over the shell script. It helps you to install all products needed for SALOME platform, avoiding the problem with parameters' order.

 

To run Installation Wizard, type in the command line of the terminal

 

 ./runInstall.csh.

 

This software was built with help of Qt. The wizard contains several pages. To navigate between pages use "Next" and "Back" buttons in the lower part of the wizard window. "Cancel" button closes dialog window and quits the installation procedure. To invoke this help information click "Help" button.

Skip the first "Introduction" page by pressing "Next" button. In the second page you have the possibility to select products for installation (see Fig.1 ). Each product has several options of installation - it can be installed as precompiled binaries, as sources or not installed at all. You can mark the products, you want to install, by clicking the corresponding radiobuttons and checkboxes in the list view in the left part of the page. Note that some products can be installed only together with other products (or these products should be already installed on your machine). So the installation procedure has a special feature to automatically mark these products in the list view. For example, in order to install pyqt it's necessary to have gcc, python, qt and sip installed. Therefore all these products will be marked when you check on pyqt. This feature can be switched off by clicking "Auto set prerequisites products" checkbox.
There are three special buttons in the right part of the page. If you want to install all products as sources just click "Select Sources" button. This will also mark SALOME docs, SALOME sources and SALOME binaries items. You can mark all products (except gcc and swig, see below) as binaries by clicking "Select Binaries (recommended)" button. This will mark SALOME docs, SALOME sources and SALOME binaries items too. "Unselect All" resets all products to "not install" state.

 


Figure 1: "Products to install" page

 

The "Total disk space required:" field displays how much disk space on the hard drive is required for installation of selected products.
Installation procedure uses a special directory for storing temporary files. The "Space for temporary files:" field shows the information about required disk space on the hard drive for extracting and compiling of the selected products.

 

Please, take into account that displayed amount of required disk space is approximate and may differ when you install products on your hard drive.

 

 

Not all products can be installed as precompiled binaries. gcc and swig must be installed as sources and then compiled. Therefore when you try to install all products as binaries by clicking "Select Binaries (recommended)" button these two items will be marked as sources and you will get the following warning message box

 


Figure 2: gcc and swig warning message box

 

Installation procedure has the limitation concerning gcc 3.2 installation procedure. The known bug of the gcc3.2 is impossibility to build it on the computer where gcc3.2 is already installed. In this case build procedure fails.

 

To proceed installation click "Next" button.

In the second page you are proposed to enter the target directory where all selected products will be installed to (see Fig.3 ). You can also press "Browse..." button and choose the folder for installation using standard Qt browse directory dialog box.

As it was mentioned before, the shell script uses a special directory for storing all temporary files. The /tmp folder is used by default. You can change this default behaviour - just type any folder or use the corresponding "Browse..." button.
 

The temporary folder field is disabled when you are installing only binaries.

 


Figure 3: "Installation settings" page

 

If the directory you want to install products does not exist you will be prompted by message box to confirm this directory creation. If you type wrong directory path, or if you have no permission for the directory you use the corresponding message box will raise.
The installation procedure also checks available disk space on the selected directories according to the products selected. If there is no enough disk space on your hard drive you will also see the corresponding error message box.

Unfortunately, the configure procedure has a very annoying bug under Linux platform. The directory should be obligatory entered without spaces. For example, the configure procedure for gcc won't work if you pass the following parameter: --prefix="/New Folder 1". Therefore you are strongly recommended not to use directory names containing spaces.

In case if you have some products already installed on your machine it will be very convenient not to install these products again, because repeated compiling can take a lot of time. We have added checking of installed products in the installation shell script in order to decrease time for installing of products. But it can lead to some troubles. For example, the shell script can successfully check Qt (check QTDIR and find libqt-mt.so.3.0.5) but some files can be corrupted or non-existent (e.g. some header files have been accidentally removed ). For such cases in the shell script there is a possibility to reinstall these corrupted products. For that purpose you have to check "Reinstall products you have already installed (recommended)?" option on this page. You are recommended to use "No" switch only if this Installation Wizard program has been used before.

For more detailed information about checking products version procedure see here.

The shell script creates special files: .salomecsh and .salomesh in the SALOME sources and SALOME binaries root directories. You have a possibility to add one of them into your profile. Just check "Do you want to update your profile?" option  In this case your environment will always point to the newly installed products.

Check "Use Mesa library" option if you want to install/build Vtk and Qt (OpenGL support) to be linked to preinstalled Mesa library. You should have Mesa drivers installed on the target directory or somewhere else, but in the last case you have to set MESA_HOME environment variable. Or you should choose Mesa 3.4.2 product to be installed also. Otherwise Vtk/Qt without Mesa support will be installed.

If you want to use native Linus Red Hat 8.0 products (these are gcc, tcl, Python, Qt, Sip and PyQt) do not mark these products in the "Products to install" page and check "Prefer native products" option. See Pick up the environment section for more detail information.

To proceed further click "Next" button (see Fig.4).

 


Figure 4: "Check your choice" page

 

This page summarizes the installation settings you've made on the previous pages. You can check again the settings and change them if necessary.
When you are sure that everything is OK, press "Next" button to follow to the next page.

 


Figure 5: "Installation progress" page

 

To start installation of the selected products click "Start" button. It launches the shell installation script and you will be able to see the output of the script in the topmost dialog's frame. In case of any installation problems (for example, you have accidentally removed the temporary directory) the script will ask you: "Would you like to continue : (Y,N) ?". You can answer this question by typing [Y] or [N] in the middle text edit control frame.
P
ress [Enter] when you finish typing data.

The "Installation Status" frame window shows you the progress of installation. It contains a list of all selected products with brief descriptions. "Waiting" description means that installation of this product have not started yet. Currently installing product is marked as "Processing". All installed products have "Completed" description.

You can abort installation and close the installation procedure using "Cancel" button. It sends the signal "SIGTERM" to the shell script. The script has a signal handler and will try to clear all temporary files. The process of removing temporary files can take some time, so the installation wizard will wait 3 seconds before closing.

At the end of installation (all selected products have been installed successfully) you can go back to the previous pages to start a new installation or click "Finish" button to close the installation wizard.


Notes on checking products version procedure

Unfortunately under Linux platform there is no exact algorithm to identify the product's version. The table below contains the information relating to checking preinstalled products.
 

Product Algorithm of checking Preliminary steps before launching
of installation procedure
Notes

gcc 3.2

ver=`/usr/bin/gcc --version | grep 'gcc (GCC) .*' | cut -b 11-13` - ver should be equal 3.2
It is recommended to use native gcc on Linux RedHat 8.0

tcl 8.3

existence of TCLHOME
existence of tclsh8.3
existence of wish8.3
existence of libtcl8.3.so
existence of libtk8.3.so
existence of libtclx8.3.so
existence of libtkx8.3.so
set TCLHOME if you have preinstalled version of tcl.
set LD_LIBRARY_PATH on a directory where libs can be found.
It is recommended to use native tcl on Linux RedHat 8.0

Cascade 4.0

existence of CASROOT environment variable set CASROOT if you have preinstalled version of CASCADE Unfortunately we can't say anything exactly about CASCADE 4.0 and we only check CASROOT environment variable. If you have problem with preinstalled version of CASCADE reinstall it

Python 2.2.1

existense of PYTHONHOME
isPython=`which python`
ver=`python -V`
set PYTHONHOME to root Python folder
set PATH on a directory where python can be found
Python should exist and ver should be equal to 2.2.1
It is recommended to use native Python on Linux RedHat 8.0

Mesa 3.4.2

existence of libGL.so.1.2.030402 set LD_LIBRARY_PATH on a directory where libGL.so.1.2.030402 can be found You have a possibility to build products (vtk & qt) with Mesa drivers from the package supplied with this installation procedure or to use OpenGL drivers installed on your computer locally. This check procedure concerns only supplied Mesa driver.

Swig 1.3.17

isSwig=`which swig`
ver=`swig -version`
ver=`echo $ver | awk '{print $3}'`
set PATH on a directory where swig can be found Swig should exist and ver should be equal to 1.3.17

Qt 3.0.5

existence of QTDIR
existence of libqt-mt.so.3.0.5
set QTDIR if you have preinstalled version of qt We try to find libqt-mt.so.3.0.5 in ${QTDIR}/lib folder.
You should set MESA_HOME only if you have preinstalled version of Mesa 3.4.2.
It is recommended to use native Qt on Linux RedHat 8.0

Qwt 0.4.1

existence of QWTHOME
existence of libqwt.so.0.4.1
set  QWTHOME if you have preinstalled version of qwt We try to find libqwt.so.0.4.1 in the ${QWTHOME}/lib folder. 

Hdf 5-1.4.4

existence of HDF5HOME
existence of libhdf5.so.0.0.0
existence of libhdf5.settings
set HDF5HOME if you have preinstalled version of hdf We try to find libhdf5.so.0.0.0 and libhdf5.settings in ${HDF5HOME}/lib folder.
File libhdf5.settings should contain the following entry:
HDF5 Version: 1.4.4

Med 2.1.6

existence of MED2HOME
existence of libmed.so.0.0.0
set MED2HOME if you have preinstalled version of med Unfortunately we can't check version number.
We try to find libmed.so.0.0.0 in ${MED2HOME}/lib folder.
If you have problem with preinstalled version of med reinstall it.

Vtk 4.2

existence of VTKHOME
existence of libvtkCommon.so
set VTKHOME if you have preinstalled version of vtk Unfortunately we can't check the version number.
We try to find libvtkCommon.so in ${VTKHOME}/lib/vtk folder.
If you have problem with preinstalled version of vtk reinstall it.

OmniORB 3.0.5,
OmniORBpy 1.5,
OmniNotify 1.2

existence of OMNIORBDIR
existence of libomniORB3.so.0.5
existence of _omnipymodule.so.0.5
existence of libCOSNotify3.so.0.5
existence of notifd
existence of THIS_IS_omniORB_3_0_5
existence of THIS_IS_omniNotify_1_2
existence of THIS_IS_OMNIORBPY_1_5
set OMNIORBDIR if you have preinstalled version of omni We try to find libomniORB3.so.0.5, _omnipymodule.so.0.5 and libCOSNotify3.so.0.5 in ${OMNIORBDIR}/lib/i586_linux_2.0_glibc2.1 folder.
We try to find notifd in ${OMNIORBDIR}/bin/i586_linux_2.0_glibc2.1 folder.
Additional checking - omni add special files THIS_IS_...
We try to find THIS_IS_omniORB_3_0_5 in ${OMNIORBDIR} folder.
We try to find THIS_IS_omniNotify_1_2 in ${OMNIORBDIR}/src/services/omniNotify.
We try to find THIS_IS_OMNIORBPY_1_5 in ${OMNIORBDIR}/src/lib/omniORBpy folder.

Numeric 22.0

existence of Numeric folder
existence of _numpy.so
set PYTHONHOME if you have preinstalled version of python Unfortunately we can't check the version number.
We try to find Numeric folder in ${PYTHONHOME}/lib/python2.2/site-packages/Numeric folder.
If you have problem with preinstalled version of numeric 22.0 reinstall it.

Sip 3.3.2

existence of SIPDIR
existence of sip
existence of libsip.so.9.1.0
set SIPDIR to directory where you have sip preinstalled We try to find sip and libsip.so.9.1.0 in $SIPDIR folder if you set SIPDIR , otherwise searching is done using $PATH and $LD_LIBRARY_PATH accordingly.
It is recommended to use native Sip on Linux RedHat 8.0

PyQt 3.3.2

existence of PYQTDIR
existence of libqtxmlcmodule.so.1.0.0
set PYQTDIR to directory where you have sip preinstalled Unfortunately we can't check the version number.
We try to find libqtxmlcmodule.so.1.0.0 in $PYQTDIR folder if you set PYQTDIR, otherwise searching is done using $LD_LIBRARY_PATH .
If you have problem with preinstalled version of PyQt 3.3.2 reinstall it.
It is recommended to use native PyQt on Linux RedHat 8.0

HappyDoc 2.1

existence of happydoc
ver=`happydoc | grep "HappyDoc version 2.1"`
set PYTHONHOME if you have preinstalled version of python We try to find happydoc in $PYTHONHOME/bin folder.
ver should not be empty.
This product is not obligatory. It was added only for your comfort.

Doxygen 1.3-rc2

existence of doxygen
existence of doxysearch
existence of doxytag
existence of doxywizard
set QTDIR if you have preinstalled version of qt
set PATH on a directory where doxygen, doxysearch, doxytag and doxywizard can be found
Unfortunately we can't check the version number.
It's necessary to have compiled Qt in order to build doxywizard.
If you have problem with preinstalled version of doxygen 1.3-rc2 reinstall it.
This product is not obligatory. It was added only for your comfort.

Graphviz 1.9

existance of dot add GraphViz's bin directory to the PATH environment variable Unfortunately we can't check the version number.
We try to find dot program in the $PATH

SALOME binaries

existence of SALOME_ROOT_DIR
existence of VERSION file
ver=`cat $SALOME_ROOT_DIR/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]'`
set SALOME_ROOT_DIR if you have preinstalled binaries of SALOME version 1.2 SALOME binaries should exist and ver should be equal to 1.2

SALOME sources

existence of SALOMEPRO_SRC
existence of VERSION file
ver=`cat $SALOMEPRO_SRC/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]'`
set SALOMEPRO_SRC if you have preinstalled sources of SALOME version 1.2 SALOME sources should exist and ver should be equal to 1.2

 

: For native products installation procedure sets proper environment variables itself, and you do not need to set such variables like, e.g. TCLHOME or PYTHONHOME. But if you have native products installed to different from default directories (not /usr/bin, /usr/lib), it is recommended to follow above description.


Picking up the environment

Please, read carefully the following information. This section describes how the installation procedure collects environment.

After installing each product shell script creates in the product root folder special environment file with the name of the product but beginning from the dot, which includes all necessary product settings. For example for VTK-4.2 the file is .VTK-4.2. These files allows to pick up all environment settings which are necessary to build and launch SALOME. When you install SALOME sources and/or binaries, installation procedure looks through the target directory to pick up all the settings files and creates two scripts: .salomesh and .salomecsh for sh and csh correspondingly. Such approach helps to save time when reinstalling products and you may not to care about setting all environment variables manually. What you need is just to use one of these scripts. You even may not to add this script in your profile. Installation Wizard will do it for you if corresponding option is enabled ("Do you want to update your profile?" check box for Install Wizard and --update option for the script).

It also concerns those products, which are not currently installed. For example, you install some SALOME binaries to the directory where you have previously installed other products.  Installation procedure still tries to collect environment files from the target directory if it finds the necessary products there. If some product is not found in the target directory the corresponding section of .salomesh/.salomecsh files will be skipped.  However for native products (gcc, tcl, python, qt, sip, pyqt) instal script also tries to find them in the system directories. The corresponding section of .salome* files will contain special description, for example "#------ native gcc is used ------".

You should take into account such behaviour of the installation procedure. Install script doesn't know itself which version of the product you want to use - native or preinstalled. You have possibility to change the order of searching the products by using special key: "Prefer native products" option for Wizard and --native key for the install script. In this case installation procedure will try to find products FIRST in your system folders and THEN in the target directory.

Please, again bear in mind that described above concerns only those products WHICH ARE NOT CURRENTLY INSTALLED.

In any case you may edit .salome* files after installation procedure finishes.


 

 

 

Related Topics