Salome HOME
Update for IW salome 5.X
[tools/install.git] / README
diff --git a/README b/README
index 06bbaeab865cb165deca87e428a03f94c820e944..aed4e62cfb59bd1006e26c6669492083715fb421 100644 (file)
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
 ================================================================================
                                      README
-                         PAL/SALOME Installation Wizard
+                           SALOME Installation Wizard
 ================================================================================
 
   Contents of this file:
      3.3. Testing of the installed SALOME platform
 
   4. How to build SALOME modules from sources
+     4.1. General procedure
+     4.2. Automatic build procedure: build.csh script
 
 ================================================================================
 
   1. Running of the Installation Wizard
 
-     You can run the Installation Wizard in two modes: batch and gui. 
-     It's root directory contains python script runInstall:
+     The Installation Wizard can be launched in two modes: GUI and batch.
+     The root directory of the Installation Wizard contains Python
+     script runInstall. To run the Installation Wizard just type
+     runInstall in the terminal window: 
 
-     [python] runInstall [-g|b] [-f <xml-file>] [-t <taget-dir>] [-tmp <tmp-dir>]
+     [ python ] runInstall [<options>]
 
-     -g              
-          Runs the Installation Wizard in the GUI mode. In this case 
-          only <xml-file> key is taken into account. 
-          This option is used by default.
+     Without any option this script will launch the SALOME Installation
+     Wizard in the default mode (GUI) with the default installation 
+     parameters. The default mode can be overridden by using command 
+     line options. Each option has short and long notations: 
 
-     -b              
-          Runs the Installation Wizard in the batch mode.
+     -g / --gui
 
-     -f <xml-file>   
-          The configuration file to be used by the Installation Wizard.  
-          If this parameter is missed then the script tries to define 
-          the Red Hat version and uses corresponding xml file. 
-          For example, for the Red Hat 8.0 config_RedHat8_0.xml file 
-          is supposed to be used by default. If the appropriate file 
-          is not found, config.xml is used by default.
+     Runs the Installation Wizard in the GUI mode (this is the default
+     mode).
 
-     -t <target-dir> 
-          The target directory SALOME products to be installed to. 
-          If used, overloads target directory, given in the 
-          configuration xml file.
+     -b / --batch
 
-     -tmp <tmp-dir>  
-          The directory, which is used to contain temporary files.  
-          If used, overloads temporary directory, given in the 
-          configuration xml file.
+     Runs the Installation Wizard in command-line mode.
 
-     -h   
-          Prints help information.
+     -f FILE / --file=FILE
+    
+     Defines the XML configuration file to be used by the Installation Wizard.
+     If the appropriate file is not found, the warning message is shown. 
+     If this option is not used then the installation script tries to
+     define the Linux version and use the corresponding XML file. 
+     For example, for the Linux Mandriva 2006.0 the config_Mandriva_2006.0.xml 
+     file will be used by default.
+
+     -d DIR / --target=DIR
+
+     Defines the target directory for SALOME platform installation. 
+     If used, this option overrides the default target directory, 
+     indicated in the configuration XML file (usually 
+     ${HOME}/salome_<version>). 
+
+     -t DIR / --tmp=DIR
+
+     Defines the directory for temporary files. If used, this
+     option overrides the default temporary directory, indicated in 
+     the configuration xml file (usually /tmp). 
+
+     -a / --all-from-sources
+
+     Forces all products to be installed from sources including SALOME
+     modules. If this option is used all the default installation modes
+     are ignored.
+
+     -s / --single-directory
+    
+     Install all SALOME binaries packages to one directory (SALOME_<version>,
+     where <version> is SALOME version).
+     Note: this option is ignored when --all-from-sources (-a) option is used.
+            
+     -h / --help
+
+     Prints help information about available options.
+
+     -v / --version
+
+     Prints version information (Note: this is the version number of 
+     the Installation Wizard, not of the SALOME platform). 
 
      For more detailed information about the Installation Wizard refer to the 
      readme.html file in the doc directory.
      2.1. Setting of the environment for SALOME
 
           Installation Wizard creates some environment files to simplify 
-          the procedure of launching of SALOME. These shell scripts set all 
+          the procedure of launching SALOME. These shell scripts set all 
           necessary environment variables for all products you have installed. 
           These files are: 
+               * env_products.csh + env_products.sh in the target directory;
+                 these files can be used for the launching of SALOME.
                * salome.csh + salome.sh in the KERNEL module's sources/binaries
-                 root directories;
-               * env_products.csh + env_products.sh in the target directory.
+                 root directories; these files are the copies of the
+                 corresponding env_products.* files.
+               * env_build.csh + env_build.sh in the target directory;
+                 these files contain minimal environment settings necessary
+                 to build SALOME packages from sources (see paragraph 4).
 
           To set SALOME environment just type in the terminal window:
 
                source salome.csh
 
           where <KERNEL_ROOT_DIR> is KERNEL binaries directory, e.g. 
-          KERNEL_1.4.1 for the 1.4.1 version.
+          KERNEL_4.1.4 for the 4.1.4 version.
 
      2.2. Launching of SALOME
        
           After you set environment you can start SALOME. Go to the KERNEL 
-          module's binaries directory (KERNEL_1.4.1/bin/salome for the version 
-          1.4.1) by using of cd command and then type:
+          module's binaries directory (KERNEL_4.1.4/bin/salome for the version 
+          4.1.4) by using of 'cd' command and then type:
 
                runSalome [<parameters>]
 
-          This will start SALOME according to the configuration parameters which
-          are described into salome.launch file, located in your home directory
-          ( $HOME/.salome/salome.launch ).
-          If this file does not exists, it is created on the first launch of 
-          SALOME from <KERNEL_ROOT_DIR>/bin/salome/salome.launch.
-
-          You can modify SALOME launching options by editing salome.launch file:
-
-          <Configuration-list>
-               <launchoptions>
-                    <gui>yes</gui>
-                    <logger>no</logger>
-                    <xterm>no</xterm>
-                    <portkill>yes</portkill>
-                    <killall>no</killall>
-               </launchoptions>
-               <modules-list>
-                    <module name="...">
-                         <plugin name="..."/>
-                    </module>
-               </modules-list>
-               <containers-list>
-                    <containertype>...</containertype>
-               </containers-list>
-          </Configuration-list>     
-
-          Each parameter described in salome.launch file can be overrided by 
-          using corresponding keys for runSalome script:
+          This will start SALOME according to the launching parameters which
+          are described in the configuration files: SalomeApp.xml in the 
+          <GUI_ROOT_DIR>/share/salome/resources/gui folder and 
+          .SalomeApprc.<version_number> file, located in your home
+          directory (where <version_number> is SALOME version number).
+          If the user configuration file does not exist, it is automatically
+          created when exiting SALOME GUI.
+
+          You can modify SALOME launching options by editing your 
+          ~/.SalomeApprc.<version_number> file (not all the options are
+          listed below):
+
+          <section name="launch">
+           <parameter name="gui"        value="yes"/>
+           <parameter name="splash"     value="yes"/>
+           <parameter name="file"       value="no"/>
+           <parameter name="key"        value="no"/>
+           <parameter name="interp"     value="no"/>
+           <parameter name="logger"     value="no"/>
+           <parameter name="xterm"      value="no"/>
+           <parameter name="portkill"   value="no"/>
+           <parameter name="killall"    value="no"/>
+           <parameter name="modules"    value="GEOM,SMESH,VISU,SUPERV,MED,COMPONENT"/>
+           <parameter name="embedded"   value="SalomeAppEngine"/>
+           <parameter name="standalone" value="study,pyContainer,cppContainer,registry,moduleCatalog"/>
+         </section>
+
+          Some parameters described in configuration file can be overridden by 
+          using of corresponding command-line options for runSalome script:
 
           --gui
                 Launch GUI desktop
           --killall
                 Kill SALOME, running on all ports
           --modules=<module>,<module>,...,<module>
-                Use module, possible values are GEOM, SMESH, VISU, MED, SUPERV
-          --containers=<container>,<container>,...<container>
-                Start container of type, possible values are cpp,python,superv
-
-          Note that there is no key which corresponds to the <plugin> tag.
-          This tag can be used currently only for SMESH module to point external 
-          meshers plugins which should be loaded by SMESH dynamically.
-          Refer <SMESH_ROOT_DIR>/doc/salome/tui/SMESH/PluginMeshers.html
-          for more information om meshers plugins.
+                Use module(s), possible values are GEOM,SMESH,VISU,MED,SUPERV,etc.
+          --embedded=<server>,<server>,...<server>
+                Start specified server/container(s) embedded in SALOME Session server 
+                (i.e. running in the same process), possible values are registry, 
+                study, moduleCatalog, cppContainer, registry
+          --standalone=<server>,<server>,...<server>
+                Start standalone server/container(s), possible values are registry, 
+                study, registry, moduleCatalog, cppContainer, pyContainer, supervContainer.
+
+          Additional launch settings are given in other sections, which refer to certain
+          modules. For example, SMESH plugins which should be used in the SALOME launch 
+          session can be mentioned in the <SMESH> section, e.g.:
+
+         <section name="SMESH">
+           <parameter name="name"       value="Mesh"/>
+           <parameter name="icon"       value="ModuleMesh.png"/>
+           <parameter name="plugins"    value="StdMeshers,NETGENPlugin"/>
+         </section>
 
 ================================================================================
 
           patient. 
           The quickest way to install SALOME is installation from the binaries. 
           In this mode the Installation Wizard just extracts all precompiled 
-          products from the corresponding archives. 
+          products from the corresponding archives (except for the products
+          which can be installed only by compiling from sources). 
           The installation from sources requires much more time than from 
           binaries because in this case the Installation Wizard extracts and 
-          then builds each product using the product's own installation 
+          then builds each product using the product's own compilation 
           procedure.
           The installation time also depends on the computer and platform used.
-          For example, to install SALOME on Pentium III-800, Linux Red Hat 8.0,
+          For example, to install SALOME on Pentium IV-3GHz, Linux Mandriva 2006.0,
           time of the installation is:
 
-               - from binaries: ~10 minutes;
-               - from sources: up to 7 hours.
-        
+               - from binaries: ~15 minutes;
+               - from sources: more than 24 hours.
+
      3.2. Log files
 
           The Installation Wizard displays the installation progress in the 
           corresponding windows (see readme.html). The Wizard uses a temporary 
           directory to store and build the products. During the installation 
           it produces some log files in this directory. If you suspect that
-          program hangs you can check the log files. These files have names
-          in capital letters like CONFIGURE.LOG, MAKE.LOG or MAKEINSTALL.LOG.
+          the program hangs you can check the log files. These files have names
+          in capital letters like CONFIGURE.LOG, MAKE.LOG, MAKEINSTALL.LOG, etc.
 
      3.3. Testing of installed SALOME platform
 
-          There is a python script which allows to test shortly all SALOME
+          There is a python script which allows quickly testing all SALOME
           modules. This script can help to check if SALOME has been installed
           successfully.
           To test SALOME platform, run SALOME desktop (see section 2), then 
           create a new study window (menu command 'File/New') and then type 
-          in the study's python console window:
+          in the study's embedded python console window:
  
                import salome_test
 
-          When running, the script loads diferent modules (Geometry, Mesh, Med, 
-          Post-Pro and Supervisor) and tests different functionality of these 
-          modules. You can watch script running progress in the python console
-          window.
+          When running, the script loads different modules (Geometry, Mesh, Med, 
+          Post-Pro and Supervisor) and tests various functionalities of these 
+          modules. You can watch the script execution progress in the embedded 
+          python console window.
+
+          Note: salome_test.py scripts require SALOME samples module 
+          (SAMPLES_SRC) to be installed (this module includes a set of sample
+          MED, Python, Supervisor graph, etc files).
+          Environment variable DATA_DIR should point at the SALOME
+          samples module directory.
 
 ================================================================================
 
   4. How to build SALOME modules from sources
 
-     If you want to build SALOME modules from sources, install all products
-     necessary for the platform and then follow the scenario described below.
-     In the sample scenario it is supposed that you have installed SALOME
-     modules sources in the /home/salome directory. The name of each module's
-     sources directory depends on the version of the platform, for example,
-     KERNEL_SRC_1.4.1 for KERNEL module of PAL/SALOME version 1.4.1.
+     This section describes how to build SALOME modules manually 
+     from the sources distribution provided with the Installation Wizard.
+
+     4.1. General procedure
+
+          If you want to build SALOME modules from sources, install all prerequisite
+          products, required for the platform and SALOME modules sources.
+          Then follow the scenario described below.
+          In this scenario it is supposed that you have installed SALOME
+          modules sources in the /home/salome directory. The name of each module
+          sources directory depends on the version of the platform, for example,
+          KERNEL_SRC_4.1.4 for KERNEL module of SALOME version 4.1.4.
+
+          Compilation and installation should be performed according to 
+          the dependencies between modules:
+
+          Main SALOME modules:
+
+          * KERNEL -> no dependencies
+          * GUI -> KERNEL
+          * GEOM -> KERNEL, GUI
+          * MED -> KERNEL, GUI
+          * SMESH -> KERNEL, GUI, GEOM, MED
+          * VISU -> KERNEL, GUI, MED
+          * SUPERV -> KERNEL, GUI
+
+          SMESH plugins:
+
+          * NETGENPLUGIN -> KERNEL, GUI, SMESH
+          * GHS3DPLUGIN -> KERNEL, GUI, SMESH
+          * GHS3DPRLPLUGIN -> KERNEL, GUI, SMESH
+          * HexoticPLUGIN -> KERNEL, GUI, SMESH
+          * BLSURFPLUGIN -> KERNEL, GUI, SMESH
+
+          Sample modules:
+
+          * COMPONENT -> KERNEL, MED
+          * PYCALCULATOR -> KERNEL, MED
+          * CALCULATOR -> KERNEL, MED
+          * HELLO -> KERNEL, GUI
+          * PYHELLO -> KERNEL
+         * LIGHT -> KERNEL, GUI
+         * RANDOMIZER -> KERNEL, GUI
+         * SIERPINSKY -> KERNEL, GUI, VISU, RANDOMIZER
+
+          Note: SMESH plugins and sample modules are optional. You may skip 
+          compiling them if you do not plan to use NETGEN and/or GHS3D meshing
+          algorithms and do not want to build samples.
+
+          In general, each module (except for KERNEL and GUI, of course) is 
+          optional for SALOME. If you do not need a certain module, just do not 
+          compile or install it. But remember that some modules require others 
+          to be built first (see dependencies table above).
+
+          To build KERNEL module:
+
+          - go to installation root directory (/home/salome in this example):
+
+               cd /home/salome
+
+          - to set environment variables use bash or csh script, depending on 
+            your shell:
+
+               source ../env_products.csh
+            or
+               source ../env_products.sh
+
+          - create build directory for the KERNEL module:
+
+               mkdir KERNEL_build
+               cd KERNEL_build
+
+          - create a configuration script by typing
+
+               ../KERNEL_SRC_4.1.4/build_configure
+
+          - run configure script which will check the environment and create 
+           Makefile files:
+
+               ../KERNEL_SRC_4.1.4/configure --prefix=/home/salome/KERNEL_install
+
+          Note, that --prefix option defines the directory where you want to 
+          install KERNEL module after 'make install' procedure. configure script
+          also accepts a lot of other parameters (for example, to build the module
+          in the optimized mode use --disable-debug --enable-production keys).
+          You can learn more about the configure of any modules by using --help (-h) 
+          parameter.
+
+          - build and (optionally) install KERNEL module:
+
+               make
+               make install
+
+          After you have completed this scenario, KERNEL module is built and 
+          installed into /home/salome/KERNEL_install directory.
+
+          - modify your environment scripts:
+
+          * for bash:
+
+               export KERNEL_ROOT_DIR=/home/salome/KERNEL_install
+            or 
+               export KERNEL_ROOT_DIR=/home/salome/KERNEL_build
+               (if make install step was not performed).
+
+          * for csh:
+
+               setenv KERNEL_ROOT_DIR /home/salome/KERNEL_install
+            or 
+               setenv KERNEL_ROOT_DIR /home/salome/KERNEL_build
+               (if make install step was not performed).
 
-     The order of compilation and installation should be performed in accordance
-     with modules dependancies:
-     
-          * GEOM : KERNEL
-          * MED : KERNEL
-          * SMESH : KERNEL, GEOM, MED
-          * VISU : KERNEL, MED
-          * SUPERV : KERNEL
-          * COMPONENT : KERNEL
-          * PYCALCULATOR : KERNEL
-          * NETGENPLUGIN : KERNEL, SMESH
+          - then repeat this scenario for other modules you want to build taking 
+            into account the dependencies between modules (see dependencies table
+            above).
 
-     Note: NETGENPLUGIN is optional component. You may skip compiling it if
-     you do not plan to use NETGEN mesher algorithm.
-     In general, each module (except KERNEL, of course) is optional for SALOME.
-     If you do not need any module, just do not compile or install it.
+          Note: if the compilation fails it may be caused by bad environment. 
+          In this case you should check if the environment script that you use 
+          (salome.csh or salome.sh) contains the following lines for each module MODULE:
 
-     - go to KERNEL module's sources directory:
+          * for bash:
 
-          cd /home/salome/KERNEL_SRC_1.4.1
+               export MODULE_ROOT_DIR=/home/salome/<MODULE_distribution>
 
-     - set environment variables (use bash or csh script, depending on 
-       your shell):
+          * for csh:
 
-          source salome.c[s]h
+               setenv MODULE_ROOT_DIR /home/salome/<MODULE_distribution>
 
-     - create a configuration script by typing
+          where <MODULE_distribution> is a MODULE_build or MODULE_install (see above).
 
-          ./build_configure
+     4.2. Automatic build procedure: build.csh and build.sh scripts
 
-     - go to the parent directory and create build directory:
+          SALOME Installation Wizard includes two scripts which can be used
+          for automatic building of SALOME modules from sources packages:
+          build.csh and build.sh. The scripts are installed into the top-level
+          installation directory (the same directory where env_products.[c]sh
+          files are generated).
 
-          cd ..
-          mkdir KERNEL_build
+          The build.csh and buils.sh scripts implement the same functionality
+          and support the same set of options, but for different shells.
+          Use build.csh script for csh and build.sh for bash.
+          The description below refers to both scripts.
 
-     - configure the sources and create Makefile files:
+          To use the script just install SALOME sources packages with the
+          Installation Wizard, then cd to the SALOME installation directory
+          and type:
 
-          cd KERNEL_build
-          ../KERNEL_SRC_1.4.1/configure --prefix=/home/salome/KERNEL_install
+               ./build.csh
 
-     Note, that --prefix option defines the directory where you want to install
-     KERNEL module after make install procedure.
-     More about certain module's configure options you can learn by typing
-     --help (-h) parameter.
+          By default, build.csh only compiles the modules but does not install them,
+          i.e. does not perform 'make install' step.
+          To do this, use -i option or -p <prefix> where <prefix> is the
+          directory SALOME modules should be installed to.
 
-     - build and install KERNEL module:
+          If you want to build only some SALOME modules, just pass them as 
+          parameters, e.g.:
 
-          make
-          make install
+               ./build.csh -i KERNEL MED GEOM
 
-       After you have completed this scenario, KERNEL module is built and 
-       installed into /home/salome/KERNEL_install directory.
+          The script also provides other options which specify compiling and 
+          installation parameters. You can learn about these options by using
+          -h key:
 
-     - set environment:
+               ./build.csh -h
 
-       * for bash:
-          export KERNEL_ROOT_DIR=/home/salome/KERNEL_install
-       or 
-          export KERNEL_ROOT_DIR=/home/salome/KERNEL_build
-          (if make install is not done).
+          When you run build.csh for the first time it is not necessary to pass 
+          -b, -c parameters. The script detects if build procedure has not yet
+          been performed and in this case runs build_configure, configure scripts
+          automatically.
 
-       * for csh:
-          setenv KERNEL_ROOT_DIR /home/salome/KERNEL_install
-       or 
-          setenv KERNEL_ROOT_DIR /home/salome/KERNEL_build
-          (if make install is not done).
+          Note: to avoid collisions it is recommended not to install 
+          SALOME binaries packages with Installation Wizard if you plan to build
+          SALOME modules from sources packages or to edit/comment all rows
+          in env_products.csh file concerning binaries packages.
 
-     - then repeat this scenario for other modules you want to build according
-       to modules dependancies.
+          Note: use -d option carefully because in this case the script removes
+          the existing (previously installed) SALOME modules.
 
-     Note: if the compilation fails it may be caused by poor environment. 
-     In this case you should check that environment script you use (salome.csh
-     or salome.sh) contains the following lines for each module:
+          Note: please, take into your account that 'make install' step is
+          obligatory for the KERNEL module. Build directory of KERNEL
+          can not be indicated as KERNEL_ROOT_DIR. This is an exception
+          for the SALOME modules. So you should use either option -i
+          or -p of build.sch script when building KERNEL module.
 
-        * for bash:
-          export PATH=${<module>_ROOT_DIR}/bin/salome:${PATH}
-          export LD_LIBRARY_PATH=${<module>_ROOT_DIR}/lib/salome:${LD_LIBRARY_PATH}
-          export PYTHONPATH=${<module>_ROOT_DIR}/bin/salome:${PYTHONPATH}
-          export PYTHONPATH=${<module>_ROOT_DIR}/lib/salome:${PYTHONPATH}
-          export PYTHONPATH=${<module>_ROOT_DIR}/lib/python2.2/site-packages/salome:${PYTHONPATH}
-          export PYTHONPATH=${<module>_ROOT_DIR}/lib/python2.2/site-packages/salome/shared_modules:${PYTHONPATH}
+          Note: build.(c)sh scripts do not modify the environment files
+          (env_products.csh, etc). You should do it by yourself.
 
-        * for csh:
-          setenv PATH ${<module>_ROOT_DIR}/bin/salome:${PATH}
-          setenv LD_LIBRARY_PATH ${<module>_ROOT_DIR}/lib/salome:${LD_LIBRARY_PATH}
-          setenv PYTHONPATH ${<module>_ROOT_DIR}/bin/salome:${PYTHONPATH}
-          setenv PYTHONPATH ${<module>_ROOT_DIR}/lib/salome:${PYTHONPATH}
-          setenv PYTHONPATH ${<module>_ROOT_DIR}/lib/python2.2/site-packages/salome:${PYTHONPATH}
-          setenv PYTHONPATH ${<module>_ROOT_DIR}/lib/python2.2/site-packages/salome/shared_modules:${PYTHONPATH}
-     
 ================================================================================