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

Why is version `GLIBCXX_3.4.28' not found (required by /usr/lib/libQt5Widgets.so.5)

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

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

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