运行 Salome-Meca 的共享库出现错误

运行 Salome-Meca 的共享库出现错误

最近,我安装了最新版本的 salome-meca 软件,从这里获得:

https://www.code-aster.org/spip.php?article303

安装后,我尝试运行它,进入文件夹~/salome_meca/appli_V2019_univ并执行,./salome但出现以下错误:

pablo@pablo-H110M-A:~/salome_meca/appli_V2019_univ$ ./salome
runSalome running on pablo-H110M-A
Searching for a free port for naming service: 2813 - OK
Searching Naming Service  + found in 0.1 seconds 
SALOME_Session_Server: error while loading shared libraries: libQt5Help.so.5: cannot open shared object file: No such file or directory
Traceback (most recent call last):
  File "/home/pablo/salome_meca/V2019_univ/modules/KERNEL_V9_3_0/bin/salome/orbmodule.py", line 172, in waitNSPID
    os.kill(thePID,0)
ProcessLookupError: [Errno 3] No such process

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pablo/salome_meca/appli_V2019_univ/bin/salome/runSalome.py", line 633, in useSalome
    clt = startSalome(args, modules_list, modules_root_dir)
  File "/home/pablo/salome_meca/appli_V2019_univ/bin/salome/runSalome.py", line 578, in startSalome
    session=clt.waitNSPID("/Kernel/Session",mySessionServ.PID,SALOME.Session)
  File "/home/pablo/salome_meca/V2019_univ/modules/KERNEL_V9_3_0/bin/salome/orbmodule.py", line 174, in waitNSPID
    raise RuntimeError("Process %d for %s not found" % (thePID,theName))
RuntimeError: Process 18072 for /Kernel/Session not found
Searching /Kernel/Session in Naming Service  

--- Error during Salome launch ---

我认为我的 Qt5 库存在问题,但在做任何事情之前我更愿意问如何解决它。

答案1

初始错误发生,因为libQt5Help.so.5未找到。libqt5help5提供此文件。我希望安装该软件包足以解决问题,并且对于本文的一些读者来说,它可能:

sudo apt install libqt5help5

但是,有时您要查找的特定软件包是您需要的众多软件包之一,并且通常作为提供更常规功能的软件包的依赖项安装。运行有时有助于解决这个问题。输出显示和。由于您收到的错误消息来自 Python,并且该软件似乎是 2019 年的,因此我将继续安装:apt rdepends packageapt rdepends libqt5help5python-pyqt5python3-pyqt5python3-pyqt5

sudo apt install python3-pyqt5

我之前错误地认为 Salome-Meca 使用的是 Python 2。我很抱歉!

我在 Salome-Meca 的文档中没有找到具体的建议。所以这是一个合理的起点。在我的系统上,我能够使用以下方法克服有关缺少库的错误消息:

sudo apt install qtcreator net-tools libqt5opengl5 libnlopt0

安装qtcreator是获取 Qt 库的复杂方法。它安装的内容远远超出了可能需要的内容(在我的系统上大约 1 GB),如果我找到更好的方法来安装所需的内容,我会尝试使用该信息来更新此内容。

我这样做之后,它仍然无法启动。我得到了类似此处显示的错误,形式为:

SALOME_Session_Server: /home/ek/salome_meca/V2019_univ/prerequisites/debianForSalome/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /lib/x86_64-linux-gnu/libGLU.so.1)
SALOME_Session_Server: /home/ek/salome_meca/V2019_univ/prerequisites/debianForSalome/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /lib/x86_64-linux-gnu/libQt5Xml.so.5)
SALOME_Session_Server: /home/ek/salome_meca/V2019_univ/prerequisites/debianForSalome/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /lib/x86_64-linux-gnu/libQt5OpenGL.so.5)

...等等。

libstdc++.so.6我能够通过让 Salome-Meca 使用系统提供的版本而不是它附带的版本来解决(或无论如何解决)该问题。我这样做了LD_PRELOAD

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./salome

当我以这种方式运行 Salome Meca 时,它成功启动:

Salome-Meca 图形界面的屏幕截图

我怀疑你的错误关于没有正确的库版本可用可能qtcreator可以通过安装、使用LD_PRELOAD指定或两者来解决libstdc++.so.6。(我不太确定什么那些错误不过,我建议你向他们更新你的问题,不管这是否有效。)

请注意,如果您使用LD_PRELOAD但运行的不是配备 64 位 Intel 或 AMD 处理器的 PC 或 Mac,那么您后面写的路径=将与我的不同。例如,如果您使用的是 32 位系统或 ARM 系统(任何字长),那么您的架构就不是 amd64。您可以搜索以libstdc++.so.6找到适当的路径。

相关内容