Salome HOME
Implement features:
[tools/install.git] / README
diff --git a/README b/README
index 82f044cc41e7239d3b9c27a7c7d806e74988068d..3e275c3a0a93303549f478ccfe9027ce64155d4e 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 opstions this script will launch the SALOME Installation
+     Wizard in the default mode (GUI). The default mode can be
+     overriden 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 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
+    
+     The XML configuration file to be used by the Installation Wizard.
+     If this option is not used then the installation script tries to
+     define the Linux version and use the corresponding XML file if it
+     is present. For examle, for the Linux Mandrake 10.1  the
+     config_Mandrake_10.1.xml  file will be used by default. If the
+     appropriate file is not found, the file config.xml will be
+     used. This file refers to the basic target platform which is
+     Linux Mandrake 10.1 for SALOME 3.0 and newer. If config.xml file
+     is also not found, the warning message box is shown (in GUI mode)
+     or printed to the console (in batch mode) and the Installation
+     Wizard quits. 
+
+     -d DIR / --target=DIR
+
+     The target directory SALOME platform to be installed to. If used,
+     this option overrides the default target directory, given in the
+     configuration XML file (usually ${HOME}/salome_<version>, see
+     here for more detail). 
+
+     -t DIR / --tmp=DIR
+
+     The directory, which is used for temporary files. If used, this
+     option overrides the default temporary directory, given in the
+     configuration xml file (usually /tmp, see here for more detail). 
+
+     -h / --help
+
+     Prints help information about available options.
+
+     -v / --version
+
+     Prints version information (Note: this is the Installation
+     Wizard's version number, not of SALOME platform). 
 
      For more detailed information about the Installation Wizard refer to the 
      readme.html file in the doc directory.
           the procedure of launching of 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_3.2.4 for the 3.2.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_3.2.4/bin/salome for the version 
+          3.2.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 folder and .SalomeApprc.<version_number>
+          file, located in your home directory (where <version_number> is number 
+          of SALOME version). If the latest file does not exist, it is automatically
+         created during the first launch of SALOME.
+
+          You can modify SALOME launching options by editing your 
+          ~/.SalomeApprc.<version_number> file:
+
+          <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 overrided 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 those 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-2GHz, Linux Mandrake 10.1,
           time of the installation is:
 
                - from binaries: ~10 minutes;
-               - from sources: up to 7 hours.
+               - from sources: more than 24 hours.
+
+         Note, the most time-consuming process is compiling of CASCADE libraries from
+         sources - it takes about 90% of time needed for compilation of all products.
         
      3.2. Log files
 
           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.
+          in capital letters like CONFIGURE.LOG, MAKE.LOG, MAKEINSTALL.LOG, etc.
 
      3.3. Testing of installed SALOME platform
 
           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, 
+          When running, the script loads different 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.
+          modules. You can watch script running progress in the embedded 
+          python console window.
 
 ================================================================================
 
   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 the way how to build SALOME modules manually from
+     sources distribution provided with 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_3.2.4 for KERNEL module of SALOME version 3.2.4.
+
+          The order of compilation and installation should be performed according 
+          to the dependancies between modules:
+
+          Main SALOME modules:
+
+          * KERNEL -> no dependancies
+          * 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
+
+          Sample modules:
+
+          * COMPONENT -> KERNEL, MED
+          * PYCALCULATOR -> KERNEL, MED
+          * CALCULATOR -> KERNEL, MED
+          * HELLO -> KERNEL, GUI
+          * PYHELLO -> KERNEL
+         * LIGHT -> KERNEL, GUI
+
+          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 KERNEL and GUI, of course) is optional for 
+          SALOME. If you do not need any module, just do not compile or install
+          it. But remember that some modules require other ones to be built first 
+          (see dependancies 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_3.2.4/build_configure
+
+          - run configure script which will check the environment and create 
+           Makefile files:
+
+               ../KERNEL_SRC_3.2.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
+          accepts also a lot of other parameters (for example, to build the module
+          in the optimized mode use --disable-debug --enable-production keys).
+          More about certain module's configure options you can learn 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).
+
+          - then repeat this scenario for other modules you want to build taking 
+            into account the dependancies between modules (see dependancies table
+            above).
 
-     According to dependancies between SALOME modules, the order of compilation 
-     and installation is following:
-     
-               - KERNEL
-                     |       _
-                            |_ GEOM  |
-                            |        |- SMESH
-                            |             |_ NETGENPLUGIN (optinal)
-                            |_ MED  _|
-                            |   |
-                            |   |_ VISU
-                            |
-                            |_ SUPERV
-                            |_ COMPONENT
-                            |_ PYCALCULATOR
+          Note: if the compilation fails it may be caused by bad environment. 
+          In this case you should check that environment script 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 script
 
-     - go to the parent directory and create build directory:
+          From version 2.2.0 SALOME Installation Wizard includes the script
+          for automatic building of SALOME modules from sources packages:
+          build.csh. It is installed into the top-level target directory
+          (the same directory where env_products.[c]sh files are generated.
 
-          cd ..
-          mkdir KERNEL_build
+          To use this script just install SALOME sources packages with
+          Installation Wizard, then cd to the SALOME installation directory
+          and type:
 
-     - configure the sources and create Makefile files:
+               ./build.csh
 
-          cd KERNEL_build
-          ../KERNEL_SRC_1.4.1/configure --prefix=/home/salome/KERNEL_install
+          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 target
+          directory.
 
-     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.
+          If you want to build only some SALOME modules, just pass them as 
+          parameters, e.g.:
 
-     - build and install KERNEL module:
+               ./build.csh -i KERNEL MED GEOM
 
-          make
-          make install
+          The script also provides some other options which specify compiling
+          and installation parameters. You can learn about options by using
+          -h key:
 
-       After you have completed this scenario, KERNEL module is built and 
-       installed into /home/salome/KERNEL_install directory.
+               ./build.csh -h
 
-     - set environment:
+          When you run build.csh at first time it is not necessary to pass 
+          -b, -c parameters. The script detects if build procedure has not yet
+          been performed and runs build_configure, configure scripts
+          in this case automatically.
 
-       * 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).
+          Note: for avoiding of 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.
 
-       * 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: use -d option carefully because in this case the script removes
+          existing (previously installed) SALOME modules.
 
-     - then repeat this scenario for other modules you want to build according
-       to modules dependancies.
+          Note: please, take into account 'make install' step is
+          obligatory for the KERNEL module. Build directory of KERNEL
+          can not be pointed as KERNEL_ROOT_DIR. This is an exception
+          for the SALOME modules. So you should use one of options -i
+          or -p of build.sch script when building KERNEL module.
 
 ================================================================================