rk3588编译opencv时链接mali libmali.so.1: .dynsym local symbol at index 9 (>= sh_info of 3)
时间: 2024-03-01 08:52:33 浏览: 300
这个问题可能是由于 Mali GPU 驱动库 libmali.so.1 与 OpenCV 编译时使用的动态链接器版本不兼容引起的。在编译 OpenCV 时,需要使用正确的动态链接器版本,以便能够正确地链接所有依赖项。
建议您按照以下步骤尝试解决此问题:
1. 确认您的系统上安装了正确版本的动态链接器。可以使用以下命令检查动态链接器版本:
```
ldd --version
```
如果版本不正确,可以使用以下命令更新:
```
sudo apt-get update
sudo apt-get upgrade
```
2. 如果动态链接器版本正确,则尝试重新编译 Mali GPU 驱动库 libmali.so.1,并确保使用与您的系统兼容的版本。
3. 确认 OpenCV 编译时使用的 Mali GPU 驱动库路径是否正确。可以使用以下命令检查:
```
ldconfig -p | grep libmali.so.1
```
如果路径不正确,则需要将 Mali GPU 驱动库路径添加到 LD_LIBRARY_PATH 环境变量中:
```
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/libmali.so.1
```
4. 如果以上步骤都不起作用,则可以尝试使用静态链接方式编译 OpenCV,以避免动态链接库版本不兼容的问题。
```
cmake -D BUILD_SHARED_LIBS=OFF <other options> <path to source>
make -j4
sudo make install
```
希望这些步骤能够帮助您解决问题。
阅读全文