STM32
直播中

李娟

7年用户 1369经验值
私信 关注
[问答]

STM32MP157运行glmark2提示没有openEGL.so,为什么?

我把ST官方的Starter Package里的根文件系统镜像直接烧到正点原子的STM32MP157开发板,Linux内核和uboot等使用的还是正点原子出厂的镜像,启动后其它的都正常,但是无法使用weston相关的应用,运行glmark2提示没有openEGL.so。请问一下这是为什么呢?这些应用和动态库应该都是在根文件系统啊。****

回帖(1)

时见栖鸦

2024-7-23 17:38:32
这个问题可能是由于以下几个原因导致的:

1. **动态库路径问题**:在Linux系统中,动态库的查找路径是按照一定的顺序进行的。如果`openEGL.so`没有在默认的路径下,系统可能无法找到它。你可以通过`ldconfig`命令来查看动态库的查找路径,或者使用`ldd`命令来检查`glmark2`程序的依赖库。

2. **文件系统挂载问题**:你提到使用的是ST官方的Starter Package里的根文件系统镜像,可能在挂载文件系统时,某些目录的挂载路径与预期不符,导致系统找不到`openEGL.so`。请检查文件系统的挂载配置,确保所有必要的目录都正确挂载。

3. **权限问题**:如果`openEGL.so`文件的权限设置不正确,可能会导致系统无法访问该文件。请检查该文件的权限,确保它具有可执行权限。

4. **文件损坏或丢失**:在烧写文件系统镜像时,可能由于某些原因导致文件损坏或丢失。请重新检查文件系统镜像,确保所有必要的文件都已正确烧写。

5. **版本不兼容**:如果`glmark2`与`openEGL.so`的版本不兼容,可能会导致无法正常运行。请检查这两个文件的版本,确保它们兼容。

为了解决这个问题,你可以尝试以下步骤:

1. 使用`ldd`命令检查`glmark2`的依赖库,看看是否能够找到`openEGL.so`。

2. 使用`find`命令在文件系统中搜索`openEGL.so`,确保它存在于正确的位置。

3. 检查文件系统的挂载配置,确保所有必要的目录都正确挂载。

4. 检查`openEGL.so`的权限,确保它具有可执行权限。

5. 如果需要,重新烧写文件系统镜像,确保所有必要的文件都已正确烧写。

6. 如果可能,尝试使用不同版本的`glmark2`和`openEGL.so`,以确保它们兼容。

通过以上步骤,你应该能够找到问题的原因并解决它。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分