4. How to build SALOME modules from sources
4.1. General procedure
- 4.2. Automatic build procedure: build.csh script
+ 4.2. Automatic build procedure: build.sh script
+ 4.3. Build SALOME using cmake
================================================================================
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
+ For example, for the Linux Mandriva 2010.0 the config_Mandriva_2010.0.xml
file will be used by default.
-d DIR / --target=DIR
source salome.csh
where <KERNEL_ROOT_DIR> is KERNEL binaries directory, e.g.
- KERNEL_6.1.0 for the 6.1.0 version.
+ KERNEL_7.4.0 for the 7.4.0 version.
2.2. Launching of SALOME
After you set environment you can start SALOME. Go to the KERNEL
- module's binaries directory (KERNEL_6.1.0/bin/salome for the version
- 6.1.0) by using of 'cd' command and then type:
+ module's binaries directory (KERNEL_7.4.0/bin/salome for the version
+ 7.4.0) by using of 'cd' command and then type:
runSalome [<parameters>]
<parameter name="xterm" value="no"/>
<parameter name="portkill" value="no"/>
<parameter name="killall" value="no"/>
- <parameter name="modules" value="GEOM,SMESH,VISU,MED,YACS"/>
+ <parameter name="modules" value="GEOM,SMESH,MED,YACS,PARAVIS"/>
<parameter name="embedded" value="SalomeAppEngine"/>
<parameter name="standalone" value="study,pyContainer,cppContainer,registry,moduleCatalog"/>
</section>
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 IV-3GHz, Linux Mandriva 2006.0,
+ For example, to install SALOME on Pentium IV-3GHz, Linux Mandriva 2010.0,
time of the installation is:
- from binaries: ~15 minutes;
- - from sources: more than 24 hours.
+ - from sources: more than 20 hours.
3.2. Log files
4.1. General procedure
+ SALOME build procedure is based on the GNU auto-tools:
+ automake, autoconf, libtool, etc. This chapter describes the
+ steps that should be done in order to compile and install
+ SALOME modules using GNU aotu-tools. Note, that some modules support also
+ cmake-based build procedure as alternative, moreover, for
+ PARAVIS module only cmake-based procedure is
+ available. Please refer to the paragraph 4.3 for more
+ details about cmake-based build 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/user/salome directory. The name of each module
sources directory depends on the version of the platform, for example,
- KERNEL_SRC_6.1.0 for KERNEL module of SALOME version 6.1.0.
+ KERNEL_SRC_7.4.0 for KERNEL module of SALOME version 7.4.0.
Compilation and installation should be performed according to
the dependencies between modules:
* GUI -> KERNEL
* GEOM -> KERNEL, GUI
* MED -> KERNEL, GUI
- * SMESH -> KERNEL, GUI, GEOM, MED
- * VISU -> KERNEL, GUI, MED
+ * SMESH -> KERNEL, GUI, GEOM
* YACS -> KERNEL, GUI
+ * PARAVIS -> KERNEL, GUI, MED
+ * HEXABLOCK -> KERNEL, GUI, GEOM
+ * HOMARD -> KERNEL, GUI, GEOM, SMESH
+ * JOBMANAGER -> KERNEL, GUI
SMESH plugins:
- * NETGENPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
- * GHS3DPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
- * GHS3DPRLPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
- * HexoticPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
- * BLSURFPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
+ * NETGENPLUGIN -> KERNEL, GUI, GEOM, SMESH
+ * GHS3DPLUGIN -> KERNEL, GUI, GEOM, SMESH
+ * GHS3DPRLPLUGIN -> KERNEL, GUI, GEOM, SMESH
+ * BLSURFPLUGIN -> KERNEL, GUI, GEOM, SMESH
+ * HexoticPLUGIN -> KERNEL, GUI, GEOM, SMESH, BLSURFPLUGIN
+ * HEXABLOCKPLUGIN -> KERNEL, GUI, GEOM, SMESH, HEXABLOCK
Sample modules:
* COMPONENT -> KERNEL, MED
- * PYCALCULATOR -> KERNEL, MED
* CALCULATOR -> KERNEL, MED
+ * PYCALCULATOR -> KERNEL, MED
* HELLO -> KERNEL, GUI
* PYHELLO -> KERNEL, GUI
* LIGHT -> KERNEL, GUI
* PYLIGHT -> KERNEL, GUI
- * RANDOMIZER -> KERNEL, GUI
- * SIERPINSKY -> KERNEL, GUI, MED, VISU, RANDOMIZER
+ * ATOMIC -> KERNEL, GUI
+ * ATOMGEN -> KERNEL, GUI
+ * ATOMSOLV -> KERNEL, GUI, ATOMGEN
+ * RANDOMIZER -> KERNEL
+ * SIERPINSKY -> KERNEL, GUI, RANDOMIZER, SMESH
+
+ Other:
+
+ * DOCUMENTATION -> no dependencies
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.
- Note: Meshing plug-ins BLSURFPLUGIN, HexoticPLUGIN and
+ Note: Meshing plug-ins BLSURFPLUGIN, HexoticPLUGIN, GHS3DPLUGIN and
GHS3DPRLPLUGIN require commercial license for the Distene
meshers in runtime mode. Moreover, BLSURFPLUGIN requires
blsurf product at the compilation time. Without it, the
BLSURFPLUGIN meshing plugin compilation will fail. Refer
to http://www.distene.com/ for more details.
- In general, each module (except for KERNEL and GUI, of course) is
+ In general, each module (except for KERNEL and GUI) 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 set environment variables use bash or csh script, depending on
your shell:
- source ../env_products.csh
+ source ./env_products.csh
or
- source ../env_products.sh
+ source ./env_products.sh
- create build directory for the KERNEL module:
- create a configuration script by typing
- ../KERNEL_SRC_6.1.0/build_configure
+ ../KERNEL_SRC_7.4.0/build_configure
- run configure script which will check the environment and create
Makefile files:
- ../KERNEL_SRC_6.1.0/configure --prefix=/home/user/salome/KERNEL-6.1.0
+ ../KERNEL_SRC_7.4.0/configure --prefix=/home/user/salome/KERNEL-7.4.0
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).
+ in the Release mode use --disable-debug --enable-production keys).
You can learn more about the configure of any modules by using --help (-h)
parameter.
make install
After you have completed this scenario, KERNEL module is built and
- installed into /home/user/salome/KERNEL-6.1.0 directory.
+ installed into /home/user/salome/KERNEL-7.4.0 directory.
- modify your environment scripts:
* for bash:
- export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-6.1.0
+ export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.4.0
* for csh:
- setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-6.1.0
+ setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.4.0
- then repeat this scenario for other modules you want to build taking
into account the dependencies between modules (see dependencies table
setenv MODULE_ROOT_DIR /home/user/salome/<MODULE_distribution>
- where <MODULE_distribution> is a MODULE-6.1.0 (see above).
-
- 4.2. Automatic build procedure: build.csh and build.sh scripts
+ where <MODULE_distribution> is a MODULE-7.4.0 (see above).
- 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).
+ 4.2. Automatic build procedure: build.sh script
- 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.
+ SALOME Installation Wizard includes build.sh script which can be used
+ for automatic building of SALOME modules from sources packages.
+ This script is copied into the top-level installation directory
+ (the same directory where env_products.[c]sh files are generated).
To use the script just install SALOME sources packages with the
Installation Wizard, then cd to the SALOME installation directory
and type:
- ./build.csh
+ ./build.sh
- By default, build.csh builds and installs all SALOME
+ By default, build.sh builds and installs all SALOME
modules. All modules are installed to the INSTALL subfolder
of the current directory. If you need to change the installation
directory, you can use -p <prefix> option where <prefix> is the
If you want to build only some subset of SALOME modules,
just pass them as parameters, e.g.:
- ./build.csh -p /home/user/salome KERNEL MED GEOM
+ ./build.sh -p /home/user/salome KERNEL MED GEOM
The script also provides other options which specify compiling and
installation parameters. You can learn about these options by using
-h key:
- ./build.csh -h
-
- When you run build.csh for the first time it is not necessary to pass
- -b or -c parameters. The script detects if build procedure has not yet
- been performed and in this case runs build_configure, configure scripts
- automatically.
+ ./build.sh -h
- Note: to avoid collisions it is recommended not to install
+ Note: to avoid collisions it is recommended to avoid installation of
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.
+ SALOME modules from sources packages; if you still install binary
+ packages of SALOME module, you can manually edit env_products.[c]sh
+ scripts by commenting all rows concerning environment of SALOME
+ binaries packages.
- Note: use -d option carefully because in this case the script removes
+ Note: use -d option of the build.sh script carefully because
+ when this option is specified to the script, it can remove
the existing (previously installed) SALOME modules.
- Note: build.(c)sh scripts do not modify the environment files
- (env_products.csh, etc). You should do it by yourself.
+ Note: build.sh script does not modify the environment files
+ (env_products.[c]sh, env_build.[c]sh). You should do it by yourself.
+
+ 4.3. Build SALOME modules manually
+
+ The build procedure of all SALOME modules is implemented with
+ CMake. This paragraph describes the steps that can be done in
+ order to build SALOME modules manually.
+
+ For example, to build KERNEL module:
+
+ - go to installation root directory (/home/user/salome in this example):
+
+ cd /home/user/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
+
+ - run cmake
+
+ cmake -DCMAKE_INSTALL_PREFIX=/home/user/salome/KERNEL-7.4.0 ../KERNEL_SRC_7.4.0
+
+ Note, that -DCMAKE_INSTALL_PREFIX option defines the directory where you want to
+ install KERNEL module after 'make install' procedure. You
+ can supply additional options to the cmake (for example, to
+ build the module in the Release mode use -DCMAKE_BUILD_TYPE=Release option).
+
+ - build and install KERNEL module:
+
+ make
+ make install
+
+ After you have completed this scenario, KERNEL module is built and
+ installed into /home/user/salome/KERNEL-7.4.0 directory.
+
+ - modify your environment scripts:
+
+ * for bash:
+
+ export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.4.0
+
+ * for csh:
+
+ setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.4.0
================================================================================