Could not find the Qt platform plugin "eglfs" in ""
-
@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
You can see the same process when you open the 14th minute of the video.
? The video is less than 6 minutes long.
I am creating the folder named
/qt5opi
in the/usr/local
directory. I create with this command,sudo mkdir /usr/local/qt5opi
OK, where do the .so files (like libQt5Core.so) come from?
When I execute this command
./OrangeDemoQml -platform xcb
I get a very similar error.The root cause is very different.
- The "eglfs" plugin failed to load because the plugin does not exist.
- The "xcb" plugin failed because your X Server could not connect to your display: "qt.qpa.xcb: could not connect to display "
Do you have a display attached to your device? Have you logged into the display with the same Pi account that you used with SSH?
@JKSH Sorry, here is the video I was talking about. https://youtu.be/TmtN3Rmx9Rk
I don't know where it came from, I think you can understand it if you examine the youtube link I gave above.
I'm very new to this stuff, please excuse my ignorance.Yes, Orange Pi is connected to a monitor via HDMI cable. Should I try unplugging the HDMI cable?
-
@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
You can see the same process when you open the 14th minute of the video.
? The video is less than 6 minutes long.
I am creating the folder named
/qt5opi
in the/usr/local
directory. I create with this command,sudo mkdir /usr/local/qt5opi
OK, where do the .so files (like libQt5Core.so) come from?
When I execute this command
./OrangeDemoQml -platform xcb
I get a very similar error.The root cause is very different.
- The "eglfs" plugin failed to load because the plugin does not exist.
- The "xcb" plugin failed because your X Server could not connect to your display: "qt.qpa.xcb: could not connect to display "
Do you have a display attached to your device? Have you logged into the display with the same Pi account that you used with SSH?
@JKSH I want to talk about something else. This is the command I ran while configuring it:
../qt-everywhere-src-5.15.2/configure -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/opt/qt5opi/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /opt/qt5opi/sysroot -prefix /usr/local/qt5opi -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtdatavis3d -nomake examples -make libs -pkg-config -no-use-gold-linker -v
You may ask why you are configuring Raspberry Pi2 while processing for Orange Pi One V1.1. Because there is no installation configuration for Orange Pi. I am attaching an image below and this image shows us on which devices we can use it. I chose the Raspberry Pi2 because it is closest to the Orange Pi in terms of processor architecture.
After running the configuration file, I would like to share the configuration summary with you.
Configure summary: Building on: linux-g++ (x86_64, CPU features: mmx sse sse2) Building for: devices/linux-rasp-pi2-g++ (arm, CPU features: neon) Target compiler: gcc 7.5.0 Configuration: cross_compile compile_examples enable_new_dtags largefile neon precompile_header shared rpath release c++11 c++14 c++1z concurrent dbus reduce_exports stl Build options: Mode ................................... release Optimize release build for size ........ no Building shared libraries .............. yes Using C standard ....................... C11 Using C++ standard ..................... C++1z Using ccache ........................... no Using gold linker ...................... no Using new DTAGS ........................ yes Using precompiled headers .............. yes Using LTCG ............................. no Target compiler supports: NEON ................................. yes Build parts ............................ libs Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... yes Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... yes udev ................................... yes Using system zlib ...................... yes Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ yes GLib ................................... yes iconv .................................. no ICU .................................... yes Tracing backend ........................ <none> Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no Using system PCRE2 ..................... yes Qt Network: getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no Linux AF_NETLINK ....................... yes OpenSSL ................................ yes Qt directly linked to OpenSSL ........ no OpenSSL 1.1 ............................ yes DTLS ................................... yes SCTP ................................... no Use system proxies ..................... yes Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ yes HarfBuzz ............................... yes Using system HarfBuzz ................ yes Fontconfig ............................. yes Image formats: GIF .................................. yes ICO .................................. yes JPEG ................................. yes Using system libjpeg ............... yes PNG .................................. yes Using system libpng ................ yes EGL .................................... no OpenVG ................................. no OpenGL: Desktop OpenGL ....................... no OpenGL ES 2.0 ........................ yes OpenGL ES 3.0 ........................ yes OpenGL ES 3.1 ........................ yes OpenGL ES 3.2 ........................ yes Vulkan ................................. yes Session Management ..................... yes Features used by QPA backends: evdev .................................. yes libinput ............................... yes INTEGRITY HID .......................... no mtdev .................................. yes tslib .................................. yes xkbcommon .............................. yes X11 specific: XLib ................................. yes XCB Xlib ............................. yes EGL on X11 ........................... no QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ yes VNC .................................... yes Mir client ............................. no XCB: Using system-provided XCB libraries .. yes XCB XKB .............................. yes XCB XInput ........................... yes Native painting (experimental) ....... yes GL integrations: GLX Plugin ......................... no EGL-X11 Plugin ..................... no Qt Sql: SQL item models ........................ yes Qt Widgets: GTK+ ................................... no Styles ................................. Fusion Windows Qt PrintSupport: CUPS ................................... yes Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... no ODBC ................................... no PostgreSQL ............................. yes SQLite2 ................................ yes SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... yes Qt Testlib: Tester for item models ................. yes Qt SerialBus: Socket CAN ............................. yes Socket CAN FD .......................... yes Further Image Formats: JasPer ................................. no MNG .................................... no TIFF ................................... yes Using system libtiff ................. yes WEBP ................................... yes Using system libwebp ................. yes Qt QML: QML network support .................... yes QML debugging and profiling support .... yes QML sequence object .................... yes QML list model ......................... yes QML XML http request ................... yes QML Locale ............................. yes QML delegate model ..................... yes Qt Quick: Direct3D 12 ............................ no AnimatedImage item ..................... yes Canvas item ............................ yes Support for Qt Quick Designer .......... yes Flipable item .......................... yes GridView item .......................... yes ListView item .......................... yes TableView item ......................... yes Path support ........................... yes PathView item .......................... yes Positioner items ....................... yes Repeater item .......................... yes ShaderEffect item ...................... yes Sprite item ............................ yes Qt Scxml: ECMAScript data model for QtScxml ...... yes Qt Gamepad: SDL2 ................................... no Qt 3D: Assimp ................................. yes System Assimp .......................... no Output Qt3D Job traces ................. no Output Qt3D GL traces .................. no Use SSE2 instructions .................. no Use AVX2 instructions .................. no Aspects: Render aspect ........................ yes Input aspect ......................... yes Logic aspect ......................... yes Animation aspect ..................... yes Extras aspect ........................ yes Qt 3D Renderers: OpenGL Renderer ........................ yes Qt 3D GeometryLoaders: Autodesk FBX ........................... no Qt Bluetooth: BlueZ .................................. no BlueZ Low Energy ....................... no Linux Crypto API ....................... no WinRT Bluetooth API (desktop & UWP) .... no Qt Sensors: sensorfw ............................... no Qt Quick Controls 2: Styles ................................. Default Fusion Imagine Material Universal Qt Quick Templates 2: Hover support .......................... yes Multi-touch support .................... yes Qt Positioning: Gypsy GPS Daemon ....................... no WinRT Geolocation API .................. no Qt Location: Qt.labs.location experimental QML plugin . yes Geoservice plugins: OpenStreetMap ........................ yes HERE ................................. yes Esri ................................. yes Mapbox ............................... yes MapboxGL ............................. yes Itemsoverlay ......................... yes QtXmlPatterns: XML schema support ..................... yes Qt Multimedia: ALSA ................................... yes GStreamer 1.0 .......................... yes GStreamer 0.10 ......................... no Video for Linux ........................ yes OpenAL ................................. no PulseAudio ............................. yes Resource Policy (libresourceqt5) ....... no Windows Audio Services ................. no DirectShow ............................. no Windows Media Foundation ............... no Qt Tools: QDoc ................................... no Qt WebEngine: Embedded build ......................... yes Full debug information ................. no Pepper Plugins ......................... no Printing and PDF ....................... no Proprietary Codecs ..................... no Spellchecker ........................... yes Native Spellchecker .................... no WebRTC ................................. no Use System Ninja ....................... no Geolocation ............................ yes WebChannel support ..................... yes Use v8 snapshot ........................ yes Kerberos Authentication ................ no Support qpa-xcb ........................ no Building v8 snapshot supported ......... no Use ALSA ............................... yes Use PulseAudio ......................... yes Optional system libraries used: re2 .................................. yes icu .................................. no libwebp, libwebpmux and libwebpdemux . yes opus ................................. yes ffmpeg ............................... no libvpx ............................... no snappy ............................... yes glib ................................. yes zlib ................................. yes minizip .............................. yes libevent ............................. yes jsoncpp .............................. yes protobuf ............................. no libxml2 and libxslt .................. yes lcms2 ................................ no png .................................. yes JPEG ................................. yes harfbuzz ............................. yes freetype ............................. yes Required system libraries: fontconfig ........................... yes dbus ................................. yes nss .................................. yes khr .................................. yes glibc ................................ yes Required system libraries for qpa-xcb: x11 .................................. no libdrm ............................... yes xcomposite ........................... no xcursor .............................. no xi ................................... no xtst ................................. no Note: Also available for Linux: linux-clang linux-icc Note: PKG_CONFIG_LIBDIR automatically set to /opt/qt5opi/sysroot/usr/lib/pkgconfig:/opt/qt5opi/sysroot/usr/share/pkgconfig:/opt/qt5opi/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig Note: PKG_CONFIG_SYSROOT_DIR automatically set to /opt/qt5opi/sysroot WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation. Either ensure that llvm-config is in your PATH environment variable, or set LLVM_INSTALL_DIR to the location of your llvm installation. On Linux systems, you may be able to install libclang by installing the libclang-dev or libclang-devel package, depending on your distribution. On macOS, you can use Homebrew's llvm package. On Windows, you must set LLVM_INSTALL_DIR to the installation path. WARNING: flex is required to build QtWebEngine. Qt is now configured for building. Just run 'make'. Once everything is built, you must run 'make install'. Qt will be installed into '/opt/qt5opi/sysroot/usr/local/qt5opi'. Prior to reconfiguration, make sure you remove any leftovers from the previous build.
Here is the part that caught my attention.
Required system libraries for qpa-xcb: x11 .................................. no libdrm ............................... yes xcomposite ........................... no xcursor .............................. no xi ................................... no xtst ................................. no
Could my problem be caused by these?
-
Did you install the related development libraries on your target device before synchronizing the root filesystem ?
-
Did you install the related development libraries on your target device before synchronizing the root filesystem ?
@SGaist Yes, I did.
-
Then you should check the test logs to see exactly what failed with them.
-
@SGaist I've already uploaded here what's failing.
After running the export
QT_DEBUG_PLUGINS=1
command, I run the./OrangeDemoQml
command again and add the output below again.Please let me know if you can't help...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5opi/plugins/platforms" ... QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqlinuxfb.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqlinuxfb.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "linuxfb" ] }, "archreq": 0, "className": "QLinuxFbIntegrationPlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("linuxfb") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqminimal.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqminimal.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "minimal" ] }, "archreq": 0, "className": "QMinimalIntegrationPlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("minimal") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqoffscreen.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqoffscreen.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "offscreen" ] }, "archreq": 0, "className": "QOffscreenIntegrationPlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("offscreen") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqvnc.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqvnc.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "vnc" ] }, "archreq": 0, "className": "QVncIntegrationPlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("vnc") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqwebgl.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqwebgl.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "webgl" ] }, "archreq": 0, "className": "QWebGLIntegrationPlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("webgl") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqxcb.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqxcb.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "xcb" ] }, "archreq": 0, "className": "QXcbIntegrationPlugin", "debug": false, "version": 330752 } Got keys from plugin meta data ("xcb") QFactoryLoader::QFactoryLoader() checking directory path "/home/opi/platforms" ... qt.qpa.plugin: Could not find the Qt platform plugin "eglfs" in "" This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: linuxfb, minimal, offscreen, vnc, webgl, xcb. Aborted
-
What I meant is to take a look at the tests that have been run during the Qt configure step to see why they failed.
-
What I meant is to take a look at the tests that have been run during the Qt configure step to see why they failed.
@SGaist Let's throw everything to the wind.
The following point caught my attention in the configuration summary.
QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ yes VNC .................................... yes Mir client ............................. no
If I don't get it wrong, the
'EGLFS ................................................ no'
part tells us that EGLFS was not installed. How can I follow a path to install it? -
@SGaist Let's throw everything to the wind.
The following point caught my attention in the configuration summary.
QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ yes VNC .................................... yes Mir client ............................. no
If I don't get it wrong, the
'EGLFS ................................................ no'
part tells us that EGLFS was not installed. How can I follow a path to install it?@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
@SGaist Let's throw everything to the wind.
The following point caught my attention in the configuration summary.
QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ yes VNC .................................... yes Mir client ............................. no
If I don't get it wrong, the
'EGLFS ................................................ no'
part tells us that EGLFS was not installed. How can I follow a path to install it?Good work with finding the relevant items in the configure summary!
There are other EGL-related items in your log:
Qt Gui: EGL .................................... no Features used by QPA backends: X11 specific: EGL on X11 ........................... no QPA backends: EGLFS .................................. no XCB: GL integrations: GLX Plugin ......................... no EGL-X11 Plugin ..................... no
Anyway, see item #14 at https://wiki.qt.io/RaspberryPi2EGLFS
-
@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
@SGaist Let's throw everything to the wind.
The following point caught my attention in the configuration summary.
QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ yes VNC .................................... yes Mir client ............................. no
If I don't get it wrong, the
'EGLFS ................................................ no'
part tells us that EGLFS was not installed. How can I follow a path to install it?Good work with finding the relevant items in the configure summary!
There are other EGL-related items in your log:
Qt Gui: EGL .................................... no Features used by QPA backends: X11 specific: EGL on X11 ........................... no QPA backends: EGLFS .................................. no XCB: GL integrations: GLX Plugin ......................... no EGL-X11 Plugin ..................... no
Anyway, see item #14 at https://wiki.qt.io/RaspberryPi2EGLFS
@JKSH I looked at the link you mentioned and tried to implement it. But in step 13
echo /usr/local/qt5pi/lib | sudo tee /etc/ld.so.conf.d/qt5pi.conf
, I don't have a file namedqt5pi.conf
orqt5opi.conf
. Could I be unable to reach the point I want because of this?By the way, I'm already doing the process in steps 14 during the installation.
I'm trying to find where I went wrong. I think it will take a very long time. :/
-
@JKSH I looked at the link you mentioned and tried to implement it. But in step 13
echo /usr/local/qt5pi/lib | sudo tee /etc/ld.so.conf.d/qt5pi.conf
, I don't have a file namedqt5pi.conf
orqt5opi.conf
. Could I be unable to reach the point I want because of this?By the way, I'm already doing the process in steps 14 during the installation.
I'm trying to find where I went wrong. I think it will take a very long time. :/
@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
But in step 13
echo /usr/local/qt5pi/lib | sudo tee /etc/ld.so.conf.d/qt5pi.conf
, I don't have a file namedqt5pi.conf
orqt5opi.conf
.The
tee
command creates a file. The command above writes the string "/usr/local/qt5pi/lib" into a file called qt5pi.conf.By the way, I'm already doing the process in steps 14 during the installation.
I'm trying to find where I went wrong. I think it will take a very long time. :/
It can be tricky, I know.
Take a step back: Don't worry about Qt first; make sure the EGL libraries are working on your device.
According to https://github.com/matusnovak/rpi-opengl-without-x you should have
libbrcmEGL.so
(orlibEGL.so
) andlibbrcmGLESv2.so
in /opt/vc/lib. Are the libraries there there? Do the triangle examples work on your device? -
@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
But in step 13
echo /usr/local/qt5pi/lib | sudo tee /etc/ld.so.conf.d/qt5pi.conf
, I don't have a file namedqt5pi.conf
orqt5opi.conf
.The
tee
command creates a file. The command above writes the string "/usr/local/qt5pi/lib" into a file called qt5pi.conf.By the way, I'm already doing the process in steps 14 during the installation.
I'm trying to find where I went wrong. I think it will take a very long time. :/
It can be tricky, I know.
Take a step back: Don't worry about Qt first; make sure the EGL libraries are working on your device.
According to https://github.com/matusnovak/rpi-opengl-without-x you should have
libbrcmEGL.so
(orlibEGL.so
) andlibbrcmGLESv2.so
in /opt/vc/lib. Are the libraries there there? Do the triangle examples work on your device?@JKSH said in Could not find the Qt platform plugin "eglfs" in "":
@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
But in step 13
echo /usr/local/qt5pi/lib | sudo tee /etc/ld.so.conf.d/qt5pi.conf
, I don't have a file namedqt5pi.conf
orqt5opi.conf
.The
tee
command creates a file. The command above writes the string "/usr/local/qt5pi/lib" into a file called qt5pi.conf.Good of you to say, I didn't know this worked. I ran this command and got no errors.
By the way, I'm already doing the process in steps 14 during the installation.
I'm trying to find where I went wrong. I think it will take a very long time. :/
It can be tricky, I know.
Take a step back: Don't worry about Qt first; make sure the EGL libraries are working on your device.
According to https://github.com/matusnovak/rpi-opengl-without-x you should have
libbrcmEGL.so
(orlibEGL.so
) andlibbrcmGLESv2.so
in /opt/vc/lib. Are the libraries there there? Do the triangle examples work on your device?First of all, there is no
/opt/vc/lib
directory on Orange Pi. I created this myself and downloaded the necessary links via the 'https://github.com/raspberrypi/firmware/tree/master/opt/vc/lib' link. Then I flashed this lib folder and put it on Orange Pi. Then I copied the.so
files to the required directory with thecp -r
command.Could doing it this way cause any problems?
I downloaded the file from the link 'https://github.com/matusnovak/rpi-opengl-without-x' back to a flash drive. I saved the 5 files in it in a folder named example on the desktop. When I run
gcc -o triangle triangle.o -lbrcmEGL -lbrcmGLESv2 -L/opt/vc/lib
I get the following error.root@orangepione:/home/opi/Desktop/example# gcc -o triangle triangle.o -lbrcmEGL -lbrcmGLESv2 -L/opt/vc/lib /usr/bin/ld: warning: libbcm_host.so, needed by /opt/vc/lib/libbrcmEGL.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libvchiq_arm.so, needed by /opt/vc/lib/libbrcmEGL.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libvcos.so, needed by /opt/vc/lib/libbrcmEGL.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_log_impl' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_mem_free' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_display_get_info' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_connect' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_reentrant_mutex_lock' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_thread_at_exit' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_initialise' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_reentrant_mutex_delete' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_release_message' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_get_client_id' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_element_add' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_reentrant_mutex_unlock' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_queue_message' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiu_queue_init' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_snprintf' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiu_queue_push' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_named_semaphore_delete' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_log_register' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_mem_alloc' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_display_open' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_update_start' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_pthreads_map_errno' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_reentrant_mutex_create' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_queue_bulk_receive' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_queue_bulk_transmit' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_named_semaphore_create' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_open_service' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_log_unregister' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiu_queue_pop' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_update_submit_sync' collect2: error: ld returned 1 exit status
-
@JKSH @SGaist Hello again, I'm back with another thought.
As in Raspberry Pi,
/opt/vc/lib
directory does not occur between Orange Pi directories. I created this directory manually in Orange Pi. I am also copying the files in the directory from the/opt/vc/lib
folder within the Raspberry Pi ecosystem to a Flash Drive.cp -rL /opt/vc/lib /media/pi/SANDISK
Then I insert this memory into Orange Pi and copy it to the
/opt/vc/lib
directory I created in the Orange Pi ecosystem.cp -r /media/pi/SANDISK /opt/vc
But between two different directories, different views emerge as I added in the photo below. The
libGLESv1_CM.so
file I show with the red frame looks different between directories.
Could my process be incorrect? How accurate is it to copy like this? This is where my error most likely stems from.
-
@JKSH I am creating the folder named
/qt5opi
in the/usr/local
directory. I create with this command,sudo mkdir /usr/local/qt5opi
. You can see the same process when you open the 14th minute of the video.When I execute this command
./OrangeDemoQml -platform xcb
I get a very similar error../OrangeDemoQml -platform xcb
is the error I get when I execute this command:qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" 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: linuxfb, minimal, offscreen, vnc, webgl, xcb. Aborted
Errors I get after running
export QT_DEBUG_PLUGINS=1
QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5opi/plugins/platforms" ... QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqlinuxfb.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqlinuxfb.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "linuxfb" ] }, "archreq": 0, "className": "QLinuxFbIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("linuxfb") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqminimal.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqminimal.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "minimal" ] }, "archreq": 0, "className": "QMinimalIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("minimal") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqoffscreen.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqoffscreen.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "offscreen" ] }, "archreq": 0, "className": "QOffscreenIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("offscreen") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqvnc.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqvnc.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "vnc" ] }, "archreq": 0, "className": "QVncIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("vnc") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqwebgl.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqwebgl.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "webgl" ] }, "archreq": 0, "className": "QWebGLIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("webgl") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5opi/plugins/platforms/libqxcb.so" Found metadata in lib /usr/local/qt5opi/plugins/platforms/libqxcb.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "xcb" ] }, "archreq": 0, "className": "QXcbIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xcb") QFactoryLoader::QFactoryLoader() checking directory path "/home/opi/platforms" ... loaded library "/usr/local/qt5opi/plugins/platforms/libqxcb.so" qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" 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: linuxfb, minimal, offscreen, vnc, webgl, xcb. Aborted
@kutluyigitturk I have the same issue. Any tips for solution?
-
@JKSH said in Could not find the Qt platform plugin "eglfs" in "":
@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
But in step 13
echo /usr/local/qt5pi/lib | sudo tee /etc/ld.so.conf.d/qt5pi.conf
, I don't have a file namedqt5pi.conf
orqt5opi.conf
.The
tee
command creates a file. The command above writes the string "/usr/local/qt5pi/lib" into a file called qt5pi.conf.Good of you to say, I didn't know this worked. I ran this command and got no errors.
By the way, I'm already doing the process in steps 14 during the installation.
I'm trying to find where I went wrong. I think it will take a very long time. :/
It can be tricky, I know.
Take a step back: Don't worry about Qt first; make sure the EGL libraries are working on your device.
According to https://github.com/matusnovak/rpi-opengl-without-x you should have
libbrcmEGL.so
(orlibEGL.so
) andlibbrcmGLESv2.so
in /opt/vc/lib. Are the libraries there there? Do the triangle examples work on your device?First of all, there is no
/opt/vc/lib
directory on Orange Pi. I created this myself and downloaded the necessary links via the 'https://github.com/raspberrypi/firmware/tree/master/opt/vc/lib' link. Then I flashed this lib folder and put it on Orange Pi. Then I copied the.so
files to the required directory with thecp -r
command.Could doing it this way cause any problems?
I downloaded the file from the link 'https://github.com/matusnovak/rpi-opengl-without-x' back to a flash drive. I saved the 5 files in it in a folder named example on the desktop. When I run
gcc -o triangle triangle.o -lbrcmEGL -lbrcmGLESv2 -L/opt/vc/lib
I get the following error.root@orangepione:/home/opi/Desktop/example# gcc -o triangle triangle.o -lbrcmEGL -lbrcmGLESv2 -L/opt/vc/lib /usr/bin/ld: warning: libbcm_host.so, needed by /opt/vc/lib/libbrcmEGL.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libvchiq_arm.so, needed by /opt/vc/lib/libbrcmEGL.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libvcos.so, needed by /opt/vc/lib/libbrcmEGL.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_log_impl' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_mem_free' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_display_get_info' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_connect' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_reentrant_mutex_lock' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_thread_at_exit' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_initialise' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_reentrant_mutex_delete' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_release_message' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_get_client_id' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_element_add' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_reentrant_mutex_unlock' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_queue_message' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiu_queue_init' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_snprintf' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiu_queue_push' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_named_semaphore_delete' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_log_register' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_mem_alloc' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_display_open' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_update_start' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_pthreads_map_errno' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_reentrant_mutex_create' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_queue_bulk_receive' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_queue_bulk_transmit' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_generic_named_semaphore_create' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiq_open_service' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vcos_log_unregister' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vchiu_queue_pop' /usr/bin/ld: /opt/vc/lib/libbrcmEGL.so: undefined reference to `vc_dispmanx_update_submit_sync' collect2: error: ld returned 1 exit status
@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
First of all, there is no
/opt/vc/lib
directory on Orange Pi. I created this myself and downloaded the necessary links via the 'https://github.com/raspberrypi/firmware/tree/master/opt/vc/lib' link. Then I flashed this lib folder and put it on Orange Pi. Then I copied the.so
files to the required directory with thecp -r
command.Could doing it this way cause any problems?
Are you sure that the *.so versions at https://github.com/raspberrypi/firmware/tree/master/opt/vc/lib are compatible with the rest of your system?
/usr/bin/ld: warning: libbcm_host.so, needed by /opt/vc/lib/libbrcmEGL.so, not found (try using -rpath or -rpath-link)
You have missing dependencies. You need to find
libbcm_host.so
, like the message said.But between two different directories, different views emerge as I added in the photo below. The
libGLESv1_CM.so
file I show with the red frame looks different between directories.It looks like you have lost a symbolic link. Call
ls -l
to see the differences more clearly.When I copy files that include symbolic links, I use
cp -a
.Anyway, your issues are not Qt-related. I don't have experience with setting up a Raspberry Pi, so I'm not sure how much I can help you.
I suggest you seek help at a Raspberry Pi forum first. Make sure that you can run the examples at https://github.com/matusnovak/rpi-opengl-without-x first.
After that, you can try building Qt and the EGLFS plugin again.
Good luck.
-
@kutluyigitturk said in Could not find the Qt platform plugin "eglfs" in "":
First of all, there is no
/opt/vc/lib
directory on Orange Pi. I created this myself and downloaded the necessary links via the 'https://github.com/raspberrypi/firmware/tree/master/opt/vc/lib' link. Then I flashed this lib folder and put it on Orange Pi. Then I copied the.so
files to the required directory with thecp -r
command.Could doing it this way cause any problems?
Are you sure that the *.so versions at https://github.com/raspberrypi/firmware/tree/master/opt/vc/lib are compatible with the rest of your system?
/usr/bin/ld: warning: libbcm_host.so, needed by /opt/vc/lib/libbrcmEGL.so, not found (try using -rpath or -rpath-link)
You have missing dependencies. You need to find
libbcm_host.so
, like the message said.But between two different directories, different views emerge as I added in the photo below. The
libGLESv1_CM.so
file I show with the red frame looks different between directories.It looks like you have lost a symbolic link. Call
ls -l
to see the differences more clearly.When I copy files that include symbolic links, I use
cp -a
.Anyway, your issues are not Qt-related. I don't have experience with setting up a Raspberry Pi, so I'm not sure how much I can help you.
I suggest you seek help at a Raspberry Pi forum first. Make sure that you can run the examples at https://github.com/matusnovak/rpi-opengl-without-x first.
After that, you can try building Qt and the EGLFS plugin again.
Good luck.
@JKSH Thank you for your help.
-
@kutluyigitturk I have the same issue. Any tips for solution?
@bumankumar3 I'll let you know if I can fix the problem.