Solved "This application failed to start because it could not find or load the Qt platform plugin "eglfs"
-
Hello,
Im using Qt in embedded with command argument "-platform eglfs"
But on trying any of the examples I get the following error :
root@dm814x:/examples/widgets/painting/basicdrawing# ./basicdrawing -platform eglfs
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
This application failed to start because it could not find or load the Qt platform plugin "eglfs".-
I have configured it as following:
./configure -prefix /qt5 -release -make libs -xplatform linux-arm-gnueabi-ti-g++ -opengl es2 -confirm-license -opensource -no-icu -skip webkit -no-xcb -no-pch -make examples -verbose -
After cross compile I copied the installed folder to target (libGLES*.so is in /plugins/platform** root folder)
I also validated that all dependent libraries also exist
ubuntu@ubuntu-laptop:~/dvrrdk/DVRRDK_04.01.00.02/target/rfs_814x_phase2/lib$ arm-none-linux-gnueabi-objdump -x libqeglfs.so | grep "NEEDED"
NEEDED libz.so.1
NEEDED libudev.so.0
NEEDED libQt5Gui.so.5
NEEDED libQt5Core.so.5
NEEDED libglib-2.0.so.0
NEEDED libgthread-2.0.so.0
NEEDED libgstreamer-0.10.so.0
NEEDED libgobject-2.0.so.0
NEEDED libgmodule-2.0.so.0
NEEDED libEGL.so
NEEDED libGLESv2.so
NEEDED libGLES_CM.so
NEEDED libIMGegl.so
NEEDED libsrv_um.so
NEEDED libusc.so
NEEDED libpthread.so.0
NEEDED libstdc++.so.6
NEEDED libm.so.6
NEEDED libgcc_s.so.1
NEEDED libc.so.6All these libraries already exist in /lib or /usr/lib ....
Is it supposed to find it there or should I add that folder to LD_LIBRARY_PATH ?
I also tried to copy all that folder contents into /lib in target but it still complains
Thank you for the assistance,
Ran -
-
as the error message says it is missing a plugin. Plugins in general are no dependencies. Instead they are dynamically loaded, and when not found a error message like yours will be thrown.
You need to also distribute the required plugins along with your application.
Read this, hope it helps. -
@ranshalit said:
NEEDED libEGL.so
NEEDED libGLESv2.soHi,
Thank you for the reply!
the plugins are libEGL*.so and they are in /lib or /usr/lib
I am not sure how to find the reason for this failure.Thanks,
Ran -
@raven-worx said:
as the error message says it is missing a plugin. Plugins in general are no dependencies. Instead they are dynamically loaded, and when not found a error message like yours will be thrown.
You need to also distribute the required plugins along with your application.
Read this, hope it helps.Hi,
all pluging *.so file exist in the /lib and /usr/lib folders.
Is it LD_PRELOAD that should be added when running the application ?Regards,
Ran -
as i said, we are talking about plugins and not about library dependencies.
Qt searches for them in specific folders. Read the link i've posted. -
@raven-worx said:
as i said, we are talking about plugins and not about library dependencies.
Qt searches for them in specific folders. Read the link i've posted.Thank you so much raven,
your advise worth millions !! I've been struggling with it for couple of days.
It works now :) -
@ranshalit
your welcome, glad i could help -
@ranshalit
how did you solve this issue? Writing qt.conf containing:
"[Paths]
Prefix = /usr/local/qt5pi/plugins/platforms
Plugins = libqeglfs.so"
or anything like that did not help -
I don't understand how to solve this problem? Could you please explain?