【问题标题】:Why is version `GLIBCXX_3.4.28' not found (required by /usr/lib/libQt5Widgets.so.5)为什么找不到版本“GLIBCXX_3.4.28”(/usr/lib/libQt5Widgets.so.5 需要)
【发布时间】:2020-09-27 01:11:19
【问题描述】:

伙计们,我正在尝试在 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。我能做什么?

【问题讨论】:

标签: python g++ libstdc++ manjaro


【解决方案1】:

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

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

【讨论】:

  • 到目前为止我还没有尝试过你的建议,但我通过降级 conda 中的 lib 解决了它:“graphql-core
猜你喜欢
  • 1970-01-01
  • 2017-12-27
  • 2017-06-30
  • 1970-01-01
  • 2020-07-22
  • 2022-01-08
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
相关资源
最近更新 更多