Salome installation with conda environment

Hello,

I am trying to running Salome using the binaries provided with the package. I ran the sat command to check if I have all the prerequisites installed. It displayed following:

WARNING: Some run time system dependencies are missing!
Please install them with apt before running salome
missing run time dependencies : python3-babel python3-pytest-cython python3-jinja2 python3-pyqt5 python3-pygments python3-sphinx python3-alabaster libcminpack1 python3-cycler python3-docutils fftw libfreeimage3 graphviz python3-imagesize python3-kiwisolver clang python3-matplotlib python3-mpi4py python3-nose python3-numpy python3-numpydoc python3-packaging python3-pandas python3-psutil python3-pyparsing libqwt-qt5-6 libncurses5 libdc1394-22 libopenexr24 libilmbase24 openmpi-bin libgdal26 python3-scipy python3-setuptools python3-sip python3-stemmer python3-sphinx-rtd-theme python3-sphinxcontrib.websupport sphinx-intl python3-statsmodels libtbb2 libtcl8.6 libtk8.6

WARNING: Some compile time system dependencies are missing!
Please install them with apt before compiling salome
missing compile time dependencies : pyqt5-dev pyqt5-dev-tools libboost-all-dev libcminpack-dev libcppunit-dev doxygen libeigen3-dev fftw-dev libfreeimage-dev libfreetype6-dev libgraphviz-dev libxml2-dev llvm-dev libqwt-qt5-dev libssl-dev libfontconfig1-dev flex bison libglu1-mesa-dev libxcb-dri2-0-dev libxkbcommon-dev libxkbcommon-x11-dev libxi-dev libxt-dev libxmu-dev libxpm-dev libxft-dev automake libtool libjpeg-dev libicu-dev libopenmpi-dev libreadline-dev libhwloc-dev libsqlite3-dev libcurl4-openssl-dev libtbb-dev cython3 libfftw3-dev libopenblas-dev qttools5-dev libqt5svg5-dev libqt5x11extras5-dev qtxmlpatterns5-dev-tools libpng-dev libtiff5-dev libgeotiff-dev libgif-dev libgeos-dev libgdal-dev python3-sip-dev python3-statsmodels libtbb-dev tcl-dev tk-dev

I have many of these python packages installed in a conda environment and I don’t want to install these packages separately.

Is there a way to change the place where Salome looks for packages?

Thanks for your time!

Regards,
Pavan.

Hello,

while this is a system check for the packages, it does not check environmental variables but runs the package managers on some systems.

In order to avoid checking for system packages simply comment the “salome_system” entry in the application pyconf file. The application pyconf file is in PROJECT/applications (if it is a Linux distribution of SALOME).

Regards,
Gregor

Hi Gregor

Thanks for you reply! I should have mentioned system specs in the first post itself, sorry about that:

  • Ubuntu 20.04
  • Salome 9.9.0
  • Python (in the conda env): 3.8.13

I am fine with installing system packages like libtbb2 (one which are not python packages), but I don’t want to install python3 packages like matplotlib, scipy, numpy, etc. I have many of these installed in an environment and I want SALOME to find those packages.

I commented out the salome_system in pyconf file, but when I run system_check now, it still shows many of the python3 packages missing.

Is there a way to tell salome to look into environment bin for those packages? Any help on this would be appreciated!

Regards,
Pavan.

Dear Pavan
The missing system packages returned by sat/sat config SALOME-9.9.0 --check_system should be considered as information. It gives you the list of packages you should install in order to get the environment that was used for building and testing Salome.
They are not mandatory. Salome may work without them, if you provide these dependencies yourself (through module load or anaconda for example). But as it was not tested you may encounter problems.

To rely on anaconda installation, you should modify the Salome launcher, because by default it reinitializes PATH, LD_LIBRARY_PATH and PYTHONPATH. To change the defaut, you have to edit the launcher and replace context.setVariable(r"PYTHONPATH",…) by context.addToPythonPath(…, context.setVariable(r"LD_LIBRARY_PATH",…) by context.addToLdLibraryPath, and same for PATH.
With next version SALOME 9.10, this operation will be easier, thanks to the ise of the variable “reinitialise_paths=True” that can be set to False to change the default.
Regards,
Nicolas

Hi Nicolas

Thanks for your reply! I will sure look into the changes you mentioned.

Regards,
Pavan.