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架构的程序

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时报错

./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目录下,运行程序,不再有之前的报错,但是有新的报错,部分报错信息如下:

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

1126 没有 GPU 默认没有装 wayland 所以 eglfs 和 wayland 都不能用,试一下指定 linuxfb
export QT_QPA_FB_DRM=1
export QT_QPA_PLATFORM=linuxfb:rotation=0

板蓝根 发表于 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)

还是一样的报错信息啊{:4_96:}

板蓝根 发表于 2022-3-3 17:37
1126 没有 GPU 默认没有装 wayland 所以 eglfs 和 wayland 都不能用,试一下指定 linuxfb
export QT_QPA_F …

环境变量加在/etc/profile里也是这样

2765961790 发表于 2022-3-4 09:58
环境变量加在/etc/profile里也是这样

默认的SDK编译已经将QT编译进buildroot系统了。尝试使用buildroot系统的qmake工具进行编译。

cd 你的QT工程
path-to-sdk/buildroot/output/firefly_rv1126_rv1109/host/bin/qmake ./你的QT工程
make

将编译好的程序通过adb推送到板子上。
根据上面export设置QT环境变量。然后执行。

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.

这个是哪方面的问题?

用的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

板子系统用的是rv1126_rv1109_linux_20211022.xml

2765961790 发表于 2022-3-4 18:09
板子系统用的是rv1126_rv1109_linux_20211022.xml

屏幕要用短排线哦,长排线点不亮屏幕的

799959745 发表于 2022-3-5 09:01
屏幕要用短排线哦,长排线点不亮屏幕的

不是这个问题啊,急死我了,能不能提供下你那边的QQ联系方式,工作日你有空的时候帮我看下是哪里问题,我QQ 547661958,谢谢大佬{:4_103:}

2765961790 发表于 2022-3-6 11:55
不是这个问题啊,急死我了,能不能提供下你那边的QQ联系方式,工作日你有空的时候帮我看下是哪里问题,我 …

id就是我的QQ

不是这样子的,kernel 已经不用传统的 /dev/fbx 设备了,改用 DRM了,你这中log,要么就是 sdk 没有用我们的 mk 编译,要么就是你的程序没有用 buildroot 的 qmake 去编译, sdk/buildroot/output/firefly_rv1126_rv1109/host/bin/qmake