Firefly开源社区

标题: 1126运行Qt demo程序报错 [打印本页]

作者: 2765961790    时间: 2022-3-2 18:31
标题: 1126运行Qt demo程序报错
本帖最后由 2765961790 于 2022-3-2 18:31 编辑

使用设备:firefly RV1126开发板,firefly10寸屏
固件版本:.repo/manifests/rv1126_rv1109_linux_release.xml -> rv1126_rv1109_linux/rv1126_rv1109_linux_20220125.xml
QT配置及交叉编译方法按照firefly的Buildroot教程 https://wiki.t-firefly.com/zh_CN/Firefly-Linux-Guide/development_buildroot.html
使用的是32位的arm包,解压此包到开发板/usr/lib目录
编译mainwindow程序为arm架构的程序
  1. mainwindow: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 4.4.0, not stripped
复制代码

在开发板上运行此demo时报错
  1. ./mainwindow: error while loading shared libraries: libmali.so.1: cannot open shared object file: No such file or directory
复制代码
于是官方的firefly-qt-5.12.2-arm/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib下的文件拷贝到开发板的/usr/lib目录下,运行程序,不再有之前的报错,但是有新的报错,部分报错信息如下:
  1. [root@RV1126_RV1109:/userdata]# ./mainwindow
  2. ./mainwindow: /lib/libstdc++.so.6: no version information available (required by ./mainwindow)
  3. ./mainwindow: /lib/libstdc++.so.6: no version information available (required by ./mainwindow)
  4. ./mainwindow: /lib/libstdc++.so.6: no version information available (required by ./mainwindow)
  5. ./mainwindow: /lib/libstdc++.so.6: no version information available (required by ./mainwindow)
  6. ./mainwindow: /lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libQt5Widgets.so.5)
  7. ./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Widgets.so.5)
  8. ./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Widgets.so.5)
  9. ./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Widgets.so.5)
  10. ./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Widgets.so.5)
  11. ./mainwindow: /lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libQt5Gui.so.5)
复制代码

./mainwindow和./mainwindow -platform eglfs或者./mainwindow -platform wayland都是这种错误
希望官方能给个解决方法,或者指导下RV1126怎么运行Qt程序




作者: 板蓝根    时间: 2022-3-3 17:37
1126 没有 GPU 默认没有装 wayland 所以 eglfs 和 wayland 都不能用,试一下指定 linuxfb
export QT_QPA_FB_DRM=1
export QT_QPA_PLATFORM=linuxfb:rotation=0
作者: 2765961790    时间: 2022-3-3 17:55
板蓝根 发表于 2022-3-3 17:37
1126 没有 GPU 默认没有装 wayland 所以 eglfs 和 wayland 都不能用,试一下指定 linuxfb
export QT_QPA_F ...

[root@RV1126_RV1109:/userdata]# export QT_QPA_FB_DRM=1
[root@RV1126_RV1109:/userdata]# export QT_QPA_PLATFORM=linuxfb:rotation=0
[root@RV1126_RV1109:/userdata]# ls
arm      bin  connman  file.db     mainwindow  overlay          recovery
arm.tar  cfg  docker   lost+found  media       overlay-workdir  sysconfig.db
[root@RV1126_RV1109:/userdata]# ./mainwindow
./mainwindow: /lib/libstdc++.so.6: no version information available (required by ./mainwindow)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by ./mainwindow)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by ./mainwindow)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by ./mainwindow)
./mainwindow: /lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libQt5Widgets.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Widgets.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Widgets.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Widgets.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Widgets.so.5)
./mainwindow: /lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libQt5Gui.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Gui.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Gui.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Gui.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Gui.so.5)
./mainwindow: /lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Core.so.5)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libmali.so.1)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libmali.so.1)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libmali.so.1)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libmali.so.1)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libmali.so.1)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libmali.so.1)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libmali.so.1)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libmali.so.1)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libmali.so.1)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libGLESv2.so.2)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libGLESv2.so.2)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libGLESv2.so.2)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libGLESv2.so.2)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libGLESv2.so.2)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libGLESv2.so.2)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libGLESv2.so.2)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libGLESv2.so.2)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libGLESv2.so.2)
./mainwindow: /lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libpng16.so.16)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libicui18n.so.60)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libicui18n.so.60)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libicui18n.so.60)
./mainwindow: /lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libicui18n.so.60)
./mainwindow: /lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libicuuc.so.60)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libicuuc.so.60)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libicuuc.so.60)
./mainwindow: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libicuuc.so.60)
./mainwindow: /lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libdrm.so.2)




还是一样的报错信息啊
作者: 2765961790    时间: 2022-3-4 09:58
板蓝根 发表于 2022-3-3 17:37
1126 没有 GPU 默认没有装 wayland 所以 eglfs 和 wayland 都不能用,试一下指定 linuxfb
export QT_QPA_F ...

环境变量加在/etc/profile里也是这样
作者: 799959745    时间: 2022-3-4 11:38
2765961790 发表于 2022-3-4 09:58
环境变量加在/etc/profile里也是这样

默认的SDK编译已经将QT编译进buildroot系统了。尝试使用buildroot系统的qmake工具进行编译。
  1. cd 你的QT工程
  2. path-to-sdk/buildroot/output/firefly_rv1126_rv1109/host/bin/qmake ./你的QT工程
  3. make
复制代码
将编译好的程序通过adb推送到板子上。
根据上面export设置QT环境变量。然后执行。




作者: 2765961790    时间: 2022-3-4 15:47
799959745 发表于 2022-3-4 11:38
默认的SDK编译已经将QT编译进buildroot系统了。尝试使用buildroot系统的qmake工具进行编译。
将编译好的 ...

是库的引导问题,我替换了报错的库就没有那些报错了,现在是这些问题


[root@RV1126_RV1109:/]# export QT_QPA_FB_DRM=1
[root@RV1126_RV1109:/]# export QT_QPA_PLATFORM=linuxfb:rotation=0
[root@RV1126_RV1109:/]# ./mainwindow
qt.qpa.plugin: Could not load the Qt platform plugin "linuxfb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland.

这个是哪方面的问题?
作者: 2765961790    时间: 2022-3-4 16:02
用的firefly最新的SDK固件,屏幕也是firefly的10寸mipi屏,但是系统里却没fb设备,屏幕也不亮
[root@RV1126_RV1109:/]ls /dev
block            loop-control      mmcblk0p8           tty2            video14
bus              loop0             mmcblk0p9           tty3            video15
char             loop1             mmcblk0rpmb         tty4            video16
console          loop2             mpp_service         tty5            video17
cpu_dma_latency  loop3             network_latency     tty6            video18
disk             loop4             network_throughput  ttyFIQ0         video19
dri              loop5             null                ttyS0           video2
fd               loop6             pmsg0               ubi_ctrl        video20
full             loop7             ppp                 urandom         video21
galcore          media0            ptmx                usb-ffs         video22
gpiochip0        media1            ptp0                v4l             video23
gpiochip1        media2            pts                 v4l-subdev0     video24
gpiochip2        mem               random              v4l-subdev1     video3
gpiochip3        memory_bandwidth  rfkill              v4l-subdev2     video4
gpiochip4        mmcblk0           rga                 v4l-subdev3     video5
gpiochip5        mmcblk0boot0      rtc                 v4l-subdev4     video6
hwrng            mmcblk0boot1      rtc0                v4l-subdev5     video7
i2c-0            mmcblk0p1         shm                 vendor_storage  video8
i2c-1            mmcblk0p2         snd                 video0          video9
i2c-4            mmcblk0p3         stderr              video1          vmdrm0
iio:device0      mmcblk0p4         stdin               video10         zero
input            mmcblk0p5         stdout              video11         zram0
kmsg             mmcblk0p6         tty                 video12
log              mmcblk0p7         tty1                video13

作者: 2765961790    时间: 2022-3-4 18:09
板子系统用的是rv1126_rv1109_linux_20211022.xml

作者: 799959745    时间: 2022-3-5 09:01
2765961790 发表于 2022-3-4 18:09
板子系统用的是rv1126_rv1109_linux_20211022.xml

屏幕要用短排线哦,长排线点不亮屏幕的
作者: 2765961790    时间: 2022-3-6 11:55
799959745 发表于 2022-3-5 09:01
屏幕要用短排线哦,长排线点不亮屏幕的

不是这个问题啊,急死我了,能不能提供下你那边的QQ联系方式,工作日你有空的时候帮我看下是哪里问题,我QQ 547661958,谢谢大佬
作者: 799959745    时间: 2022-3-7 10:38
2765961790 发表于 2022-3-6 11:55
不是这个问题啊,急死我了,能不能提供下你那边的QQ联系方式,工作日你有空的时候帮我看下是哪里问题,我 ...

id就是我的QQ
作者: 板蓝根    时间: 2022-3-10 09:31
不是这样子的,kernel 已经不用传统的 /dev/fbx 设备了,改用 DRM了,你这中log,要么就是 sdk 没有用我们的 mk 编译,要么就是你的程序没有用 buildroot 的 qmake 去编译, sdk/buildroot/output/firefly_rv1126_rv1109/host/bin/qmake




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1