为什么找不到版本“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
或某些 RPATH
或 RUN_PATH
直接在 ELF .so
文件中设置)。
您应该可以通过简单地删除 libstdc++.so.6
文件(darknet376
目录树中的文件,而不是 /lib
中的系统版本)来解决这个问题,因为系统版本足够新,因此 运行 此软件可能不需要捆绑版本。
伙计们,我正在尝试 运行 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
或某些 RPATH
或 RUN_PATH
直接在 ELF .so
文件中设置)。
您应该可以通过简单地删除 libstdc++.so.6
文件(darknet376
目录树中的文件,而不是 /lib
中的系统版本)来解决这个问题,因为系统版本足够新,因此 运行 此软件可能不需要捆绑版本。