Debian Salomé Package
By Adam Powell
Last updated October 13, 2010 for version 5.1.3-11
Salomé is an amazing CAD program, mesher frontend, and general simulation
pre- and post-processor. Debian packaging is organized as follows:
- The main salome binary package includes several modules loaded
by default at runtime called: KERNEL, GUI, GEOM, MED, VISU, SMESH and
YACS.
- salome-extras includes RANDOMIZER, COMPONENT and SIERPINSKY, and
will include NETGENPLUGIN when it links to Debian's Netgen library
package.
- salome-examples includes the LIGHT and PYLIGHT light-weight
graphical interfaces for Salomé, and HELLO, PYHELLO, CALCULATOR and
PYCALCULATOR modules as examples of module development.
- The HXX2SALOME and XDATA modules in the salome-dev package
provide tools for module development; that package also provides headers
and shared library symlinks.
- And the salome-test package includes numerous test programs and
data.
Salomé components communicate using CORBA, and specifically, the omniORB
object request broker (ORB). This allows the different components to run in
different processes, and on different machines across a network when
necessary.
To run Salomé, use the menu, or type runSalome --gui at the prompt.
There are a lot
of command line options, such as specifying which modules to load, and
--killall kills processes left over from the previous run before
starting a new one. The command killSalome kills all Salomé and
related omniORB processes.
The package runs well, but could use a few updates at some
point:
- Make man pages for the salome scripts in /usr/bin.
- Build a test suite script which runs all of the tests in the
salome-test package.
- Link to the Aster and Saturne mechanics/heat and fluid flow solvers
- Make a salome-dev-doc binary out of the (voluminous) generated
documentation.
- The .m4 files' check names like CHECK_KERNEL are a bit presumptuous.
They should change to CHECK_SALOME_KERNEL etc.
- Many of the libs need to link to additional libraries to get all of their
symbols, and many of them link to libraries they don't need (see
dh_shlibdeps warnings).
- Right now, the package only builds a python2.6 version. However,
rebuilding just the python parts of each module for each python version
will be very tricky, and rebuilding the entire thing for each python
version is probably unworkable -- the package takes long enough to build as
it is!
Share and enjoy!