为什么找不到版本“GLIBCXX_3.4.28”(由/usr/lib/libQt5Widgets.so.5所需)

2024-07-05 09:57:29 发布

您现在位置:Python中文网/ 问答频道 /正文

伙计们,我正试图在manjaro linux上运行following code。但当我启动服务器时:

 python3 darknet_server.py 

它报告

Traceback (most recent call last):
  File "darknet_server.py", line 342, in <module>
    main()
  File "darknet_server.py", line 328, in main
    datafilepath=datafilepath.encode(),
  File "/home/vfbsilva/Source/darknet_alexey/darknet/pythons/darknet.py", line 120, in __init__
    self.lib = CDLL(self.libfilepath, RTLD_GLOBAL)
  File "/home/vfbsilva/Programas/anaconda3/envs/darknet376/lib/python3.7/ctypes/__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/vfbsilva/Programas/anaconda3/envs/darknet376/lib/python3.7/site-packages/../../libstdc++.so.6: version `GLIBCXX_3.4.28' not found (required by /usr/lib/libQt5Widgets.so.5)

但是

pacman -Qo /lib/libstdc++.so.6
/usr/lib/libstdc++.so.6 pertence a gcc-libs 10.2.0-2

显示已安装的libstdc++.so.6。我能做什么


Tags: inpyselfhomeserverinitmainlib
1条回答
网友
1楼 · 发布于 2024-07-05 09:57:29

darknet376附带了它自己的过时的libstdc++.so.6副本,它覆盖了系统版本(可能是由于LD_LIBRARY_PATH或某些RPATHRUN_PATH设置直接在ELF.so文件中)

您应该能够通过简单地删除libstdc++.so.6文件(在darknet376目录树中的文件,而不是/lib中的系统版本)来解决此问题,因为系统版本足够新,因此运行此软件可能不需要捆绑版本

相关问题 更多 >