最近,我安装了最新版本的 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 package
apt rdepends libqt5help5
python-pyqt5
python3-pyqt5
python3-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 时,它成功启动:
我怀疑你的错误关于没有正确的库版本可用可能qtcreator
可以通过安装、使用LD_PRELOAD
指定或两者来解决libstdc++.so.6
。(我不太确定什么那些错误不过,我建议你向他们更新你的问题,不管这是否有效。)
请注意,如果您使用LD_PRELOAD
但运行的不是配备 64 位 Intel 或 AMD 处理器的 PC 或 Mac,那么您后面写的路径=
将与我的不同。例如,如果您使用的是 32 位系统或 ARM 系统(任何字长),那么您的架构就不是 amd64。您可以搜索以libstdc++.so.6
找到适当的路径。