问题描述
我正在尝试在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
中的系统版本)来解决此问题,因为系统版本为足够新,因此运行该软件可能不需要捆绑版本。