Problem with Salome 9.13.0 on Ubuntu 22.04 on M1 Mac UTM

I am new to Salome and trying to run Salome 9.13.0 on Ubuntu 22.04 as a virtual machine on M1 Mac UTM.

There were 2 problems.

  1. After following the steps in README, I am left with one missing package: libquadmath0. The thing is, there does not seem to be a version for ARM architecture.
ubuntu@ubuntu:~/Documents/salome-9.13.0$ sudo apt install libquadmath0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libquadmath0

ubuntu@ubuntu:~/Documents/salome-9.13.0$ apt list | grep libquadmath0

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libquadmath0-amd64-cross/jammy-updates,jammy-security 12.3.0-1ubuntu1~22.04cross1 all
libquadmath0-i386-cross/jammy-updates,jammy-security 12.3.0-1ubuntu1~22.04cross1 all
libquadmath0-ppc64el-cross/jammy-updates,jammy-security 12.3.0-1ubuntu1~22.04cross1 all
libquadmath0-x32-cross/jammy-updates,jammy-security 12.3.0-1ubuntu1~22.04cross1 all
  1. When I tried to run ./salome or ./mesa_salome, there is this message.
ERROR:salomeContext:Unexpected error:
Traceback (most recent call last):
  File "/home/ubuntu/Documents/salome-9.13.0/BINARIES-UB22.04/SALOME/bin/salome/salomeContext.py", line 325, in _startSalome
    res = getattr(self, command)(options) # run appropriate method
  File "/home/ubuntu/Documents/salome-9.13.0/BINARIES-UB22.04/SALOME/bin/salome/salomeContext.py", line 413, in _sessionless
    setenv.main(True, exeName="salome withsession")
  File "/home/ubuntu/Documents/salome-9.13.0/BINARIES-UB22.04/KERNEL/bin/salome/setenv.py", line 238, in main
    args, modules_list, modules_root_dir = get_config(silent=silent, exeName=exeName, keepEnvironment=keep_env)
  File "/home/ubuntu/Documents/salome-9.13.0/BINARIES-UB22.04/KERNEL/bin/salome/setenv.py", line 85, in get_config
    args = launchConfigureParser.get_env(exeName=exeName, keepEnvironment=keepEnvironment)
  File "/home/ubuntu/Documents/salome-9.13.0/BINARIES-UB22.04/KERNEL/bin/salome/launchConfigureParser.py", line 954, in get_env
    if verbose(): print("Configure parser: Warning : can not find configuration file %s" % filename)
  File "/home/ubuntu/Documents/salome-9.13.0/BINARIES-UB22.04/KERNEL/bin/salome/salome_utils.py", line 458, in verbose
    import KernelBasis
  File "/home/ubuntu/Documents/salome-9.13.0/BINARIES-UB22.04/KERNEL/bin/salome/KernelBasis.py", line 15, in <module>
    import _KernelBasis
ImportError: /home/ubuntu/Documents/salome-9.13.0/BINARIES-UB22.04/KERNEL/lib/salome/_KernelBasis.so: cannot open shared object file: No such file or directory

There is a similar topic with an older Salome version here, but not very sure how the author made it work.

Why do you need an ARM package when using UTM? Do you emulate an x64/x86 system with UTM?

I thought because the Ubuntu VM is for ARM architecture, it was looking for an ARM package, but I might be mistaken.

I would try to use x86 architecture in the UTM settings and install an x86 version of Ubuntu.

1 Like

I tried the only x86 Ubuntu available in the gallery, Ubuntu 14, unfortunately too slow to effectively work on it…
Maybe because of the architectural difference, it works on emulation mode rather than virtualization.

Sorry! I did not know that emulation is limited to older distros. Of course, emulating CISC on RISC will reduce performance. Have you tried to increase core count in UTM?

On the ARM Ubuntu: Have you tried to compile the missing library by yourself?

I can not test it, since I do not have an Apple Silicon Mac. But it seems not to be impossible. Have you found this:

Sorry for my late reply.
Thank you for your replies so far. However I kind of gave up on this since I had not made it to work.
I decided to install Salome on my Windows laptop (which I haven’t used for some time), and it has worked fine.

1 Like