Issue running Salome at 22.04

Hello nabil,
I jump in the conversation as I had a similar issue, from python I am getting:

print(linux_distribution())
<stdin>:1: DeprecationWarning: distro.linux_distribution() is deprecated. It should only be used as a compatibility shim with Python's platform.linux_distribution(). Please use distro.id(), distro.version() and distro.name() instead.
('TUXEDO OS', '22.04', 'jammy')

so in theory, I should add to $salome_path/sat/src/distrib.pyconf (tuxedo is based in ubuntu actually in kde neon to be exactly…)

  "TUXEDO OS": "UB"

I also added "TUXEDOOS": "UB" as I saw this with redhat… neverhtless when I run sat tool it tells me that is not recognized and that i should add it.

sat/sat config SALOME-9.12.0-native --check_system
Unknown distribution: 'not found'
Please add your distribution to src/internal_config/distrib.pyconf

regards

indeed if you look at the source code sat/src/architecture.py
and search for the function get_distribution, you can read that it needs to be set in lower case.
Here you need to set:

"tuxedo os" : "UB"

can you share the output of:

cat /etc/os-release

as well as the output of:

from distro import linux_distribution
print(linux_distribution())

thanks .

can you share the output of etc/os/release:

the is no etc/os/release but I have etc/lsb-release and etc/lsb-release.dist

> cat etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="TUXEDO OS 2 22.04.4 LTS"

> cat lsb-release.dist 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"

and search for the function get_distribution, you can read that it needs to be set in lower case.
Here you need to set:

"tuxedo os" : "UB"

the output of print(linux_distribution()) is in my previous message

I added to $salome_path/sat/src/distrib.pyconf and runned sat command:

sat/sat config SALOME-9.12.0-native --check_system
CRITICAL :: Exception raised for execute_cli('config SALOME-9.12.0-native --check_system'):
 | 
 | Traceback (most recent call last):
 |   File "/home/franco/Downloads/SALOME-9.12.0/sat/sat", line 60, in <module>
 |     returnCode = sat.execute_cli(args)
 |   File "/home/franco/Downloads/SALOME-9.12.0/sat/src/salomeTools.py", line 286, in execute_cli
 |     code = fun_command(self.remaindersArgs[1:])
 |   File "/home/franco/Downloads/SALOME-9.12.0/sat/src/salomeTools.py", line 415, in run_command
 |     self.cfg = cfgManager.get_config(datadir=self.datadir,
 |   File "/home/franco/Downloads/SALOME-9.12.0/sat/commands/config.py", line 435, in get_config
 |     raise src.SatException(
 | 
 | src.SatException: Configuration file 'SALOME-9.12.0-native.pyconf' not found, use 'config --list' to get the list of available applications.
 | 

Are you using the universal binary ?

the output was from the universal vr as I wanted to use that one and was having issues with the explode command, for the ubuntu one (it was running but after running the sat it looks like some dependencies were missing) here is the output: and I should remark for next version of salome that there is an error in the output, if you see in the warning it says to install the dependencies and it mentions ‘fftw’ this is not recognized by apt install, and it even stoped my apt install, but if you remove that one and install all the rest and re run the sat it will be enought to have all the dependencies so, this ‘fftw’ should not be printed…


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-sphinx python3-alabaster python3-certifi python3-cycler python3-dateutil python3-docutils fftw python3-imagesize python3-kiwisolver python3-markupsafe python3-matplotlib python3-mpi4py python3-nose python3-numpy python3-numpydoc python3-pandas python3-tz python3-requests libffi7 libopenblas0-serial python3-scipy python3-sip python3-stemmer python3-sphinx-rtd-theme python3-sphinxcontrib.websupport sphinx-intl python3-statsmodels python3-toml python3-urllib3 

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 libcppunit-dev libeigen3-dev fftw-dev libgraphviz-dev llvm-dev libqwt-qt5-dev libxpm-dev libtbb-dev cython3 libopenblas-dev qttools5-dev libqt5svg5-dev libqt5x11extras5-dev qtxmlpatterns5-dev-tools libtiff5-dev dvipng python3-sip-dev python3-statsmodels 

regards,
franco

Indeed this should not be used in case of universal binary. This command is aimed for non universal distributions. This needs to be fixed.
Thanks
Regards.

1 Like

Thank you very much.
It works, thanks

1 Like

Salome doesn’t work on Wayland, right? I had to revert my system to X11.

I raised the question to one colleague of mine to check whether the Debian 12 we have at hand could be used to check this wayland display server issue you’re raising here.
If I get it, you mean that SALOME does not start if you’re using Wayland, SALOME does not start ?
thanks.

Yes, Salome does not open when using KDE Plasma 6 on Wayland.

1 Like

Just to confirm the behavior. Salome opens, but when I try any module, Geometry for instance, it crashes. It gives the following message:
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 3 (X_GetWindowAttributes)
Resource id in failed request: 0xf
Serial number of failed request: 10
Current serial number in output stream: 11

hello @NabilG
after the new update of tuxedo (tuxedos 4) which was rebased on ubuntu 24.04, salome stoped working again,
if I run

./mesa_salome 
Traceback (most recent call last):
  File "/home/franco/Programs/Salome/SALOME-9.13.0/./mesa_salome", line 77, in main
    from salomeContext import SalomeContext, SalomeContextException
  File "/home/franco/Programs/Salome/SALOME-9.13.0/BINARIES-CO7/KERNEL/bin/salome/salomeContext.py", line 26, in <module>
    from parseConfigFile import parseConfigFile
  File "/home/franco/Programs/Salome/SALOME-9.13.0/BINARIES-CO7/KERNEL/bin/salome/parseConfigFile.py", line 49, in <module>
    class MultiOptSafeConfigParser(configparser.SafeConfigParser):
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'configparser' has no attribute 'SafeConfigParser'. Did you mean: 'RawConfigParser'?

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/franco/Programs/Salome/SALOME-9.13.0/./mesa_salome", line 1351, in <module>
    main(args)
  File "/home/franco/Programs/Salome/SALOME-9.13.0/./mesa_salome", line 1343, in main
    except SalomeContextException as e:
           ^^^^^^^^^^^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'SalomeContextException' where it is not associated with a value

also for info:

from distro import linux_distribution
print(linux_distribution())
('TUXEDO OS', '24.04', 'noble')
cat /etc/os-release
NAME="TUXEDO OS"
VERSION="24.04.1 LTS"
ID=tuxedo
ID_LIKE="ubuntu debian"
PRETTY_NAME="TUXEDO OS"
VERSION_ID="24.04"
HOME_URL="https://tuxedocomputers.com/"
SUPPORT_URL="https://support.tuxedocomputers.com/"
BUG_REPORT_URL="https://gitlab.com/tuxedocomputers/development/tuxedo_os/os"
PRIVACY_POLICY_URL="https://www.tuxedocomputers.com/en/Privacy-policy.tuxedo"
VERSION_CODENAME=noble
UBUNTU_CODENAME=noble

in /home/franco/Programs/Salome/SALOME-9.13.0/sat/src/internal_config/distrib.pyconf
I have "tuxedo os" : "UB"
lastly

sudo apt install python-is-python3
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python-is-python3 is already the newest version (3.11.4-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.


this is with salome 9.13.0 universal distribution

also, if I try salome 9.13 ubuntu 24.04 version I get (with ./salome and ./mesa_salome
SALOME_Session_Server_No_Server: error while loading shared libraries: libgdal.so.34: cannot open shared object file: No such file or directory
then it does nothing, and when I stop the command (ctr+C)
I get:

^CTraceback (most recent call last):
  File "/home/franco/Desktop/SALOME-9.13.0-native-UB24.04-SRC/BINARIES-UB24.04/SALOME/bin/salome/salomeContext.py", line 747, in <module>
    status = context._startSalome(args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/franco/Desktop/SALOME-9.13.0-native-UB24.04-SRC/BINARIES-UB24.04/SALOME/bin/salome/salomeContext.py", line 328, in _startSalome
    res = getattr(self, command)(options) # run appropriate method
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/franco/Desktop/SALOME-9.13.0-native-UB24.04-SRC/BINARIES-UB24.04/SALOME/bin/salome/salomeContext.py", line 419, in _sessionless
    runSalome.runSalome()
  File "/home/franco/Desktop/SALOME-9.13.0-native-UB24.04-SRC/BINARIES-UB24.04/KERNEL/bin/salome/runSalome.py", line 338, in runSalome
    foreGround(args, ior_fakens_filename)
  File "/home/franco/Desktop/SALOME-9.13.0-native-UB24.04-SRC/BINARIES-UB24.04/KERNEL/bin/salome/runSalome.py", line 252, in foreGround
    sleep(dt)
KeyboardInterrupt
Traceback (most recent call last):
  File "/home/franco/Desktop/SALOME-9.13.0-native-UB24.04-SRC/./mesa_salome", line 1075, in <module>
    main(args)
  File "/home/franco/Desktop/SALOME-9.13.0-native-UB24.04-SRC/./mesa_salome", line 1064, in main
    out, err, status = context.runSalome(args)
                       ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/franco/Desktop/SALOME-9.13.0-native-UB24.04-SRC/BINARIES-UB24.04/KERNEL/bin/salome/salomeContext.py", line 151, in runSalome
    out, err = proc.communicate()
               ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/subprocess.py", line 1201, in communicate
    self.wait()
  File "/usr/lib/python3.12/subprocess.py", line 1264, in wait
    return self._wait(timeout=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/subprocess.py", line 2053, in _wait
    (pid, sts) = self._try_wait(0)
                 ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/subprocess.py", line 2011, in _try_wait
    (pid, sts) = os.waitpid(self.pid, wait_flags)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt

HI Franco,
sorry for the late reply. Here, since you’re using the universal binary, you need to use run_salome.sh to ensure that you bootstrap SALOME with the embedded python, since the one of UB24 is not compatible

You can also run SALOME 9.13 built for Ubuntu 24

Hi all,
I’m new to Salome and tried to install several versions to use them in Ubuntu 22.04, but none of them run.

For version 9.11.0 I checked my native prerequisites with the command

./sat config SALOME-9.11.0-native --check_system

and it showed following lines:

Traceback (most recent call last):
File “/home/jspreng/SALOME-9.11.0/sat/./sat”, line 43, in
import src.logger as LOG
File “/home/jspreng/SALOME-9.11.0/sat/src/init.py”, line 43, in
from . import test_module
File “/home/jspreng/SALOME-9.11.0/sat/src/test_module.py”, line 33, in
import imp
ModuleNotFoundError: No module named ‘imp’

When I try running salome with ./salome, following lines appear:

What can I do to get Salome running correctly on my laptop?
Thank you very much for your answers.

Is there a particular reason to use version 9.11 ? IMHO, you should move to a more recent version and benefit from bug fixes and a one embedded script which fixes the reported issue.
In case you need to stick to that version, you can use the attached file to bootstrap the embedded python as follows:

mv run_salome.sh.txt SALOME-9.11.0/run_salome.sh
chmod u+x SALOME-9.11.0/run_salome.sh
SALOME-9.11.0/run_salome.sh # run --usage to see options

this script is part of more recent releases.
File: run_salome.sh.txt (1.6 KB)

Thank you very much for your answer!
Using your .txt file in combination with the command

chmod u+x SALOME-9.11.0/run_salome.sh.txt

the starting screen of Salome opens for a few seconds, but afterwards the GUI isnt popping up.
Capture

No, there is no reason for me to run 9.11. I just had the problem that 9.13 also did not work and so I tried another version. WIth 9.11 I got further with the installation, but still problems describes as above occurred…
I will try installing and running 9.13 with your tips and update my post after trying out if 9.13 works with that.

Do you have any opinions on the lines showed after running ./sat config SALOME-9.11.0-native --check_system ?

Hi,
here since you’re using the universal binary, you do not need to run the command :

./sat config SALOME-9.11.0-native --check_system

This command is aimed to check for some system prerequisites if you use one Ubuntu 22.04 SALOME release only.

Can you try instead to check whether running mesa layer helps, namely, run:

   SALOME-9.11.0/run_salome.sh --mesa

If it does not help, you can check whether you’re running wayland for which some issues were reported in the past. You can check for instance output of: echo $XDG_SESSION_TYPE or ps -edf | grep X command and search for wayland. If this is the case, you can instead fall back to X11 (feasible usualy directly in the login screen).

See this thread or simply search for wayland in forum for additional informations.

Issues running Salome 9.12 on Debian 12 - Install & build - SALOME PROJECT

HTH.

It seems there is an issue with the version of Python you are using: “imp” and “SafeConfigParser” have been deprecated.

To fix “SafeConfigParser” see here

Thank you for the reply, I already solved the problem. :slightly_smiling_face:

I believe, it will be useful to others if you could share how you resolved the second issue you reported about.
Thanks.