[Development] qtwayland on i.mx6

Keller Alexander-B42067 B42067 at freescale.com
Tue Jan 8 15:53:41 CET 2013


Hello,

I have tried to your solution, but it did not work. I have created a pkgconfig file for wayland-egl. (I attached the pkgconfig file in the email) However, when configured qtwayland it did not look for the pkgconfig. Is qtwayland supposed to automatically search for the pkgconfig or do I export some kind of variable?

Any help on this issue would be great. Thanks for your time.

-Alexander Keller

From: Nichols Andy [mailto:Andy.Nichols at digia.com]
Sent: Friday, January 04, 2013 10:09 AM
To: Keller Alexander-B42067
Cc: development at qt-project.org
Subject: Re: [Development] qtwayland on i.mx6

Hi Alexander,

I have been trying to cross compile qtwayland to run on the i.mx6. I have been able to successfully build qt5, but after running the qmake and try to build qtwayland I get this error.

.obj/release-shared/wlcompositor.o: In function `Wayland::Compositor::Compositor(WaylandCompositor*)':
wlcompositor.cpp:(.text+0x3a8): undefined reference to `GraphicsHardwareIntegration::createGraphicsHardwareIntegration(WaylandCompositor*)'
collect2: ld returned 1 exit status
make[2]: *** [../../lib/libQt5Compositor.so.5.0.0] Error 1
make[2]: Leaving directory `/home/alexander/qtfilesystem/home/linaro/qtwayland/src/compositor'
make[1]: *** [sub-compositor-make_first] Error 2
make[1]: Leaving directory `/home/alexander/qtfilesystem/home/linaro/qtwayland/src'
make: *** [sub-src-make_first] Error 2

I believe the error is from that wayland-egl is not properly configured for qtwayland. However, the GPU driver for the i.mx6 has the wayland-egl extensions. I tried making library links so that when qtwayland gets configure, qtwayland test the correct EGL library.

I attached the qtwayland config log and my build for qtwayland. If you have any advice on this issue please let me. Thanks for your help.


It looks like the problem with the configure test is this:
!contains(QT_CONFIG, no-pkg-config) {
    CONFIG += link_pkgconfig
    PKGCONFIG += wayland-egl
} else {
    LIBS += -lwayland-egl
}

You do have support for pkg-config, but you don't have a .pc file for wayland-egl, and thus you get this:
Project ERROR: Package wayland-egl not found
which is considered a qmake error as a result of unsuccessfully searching for a pkg-config package.

I've noticed this problem in the past, but haven't discovered a decent work around yet for this case.

you get the undefined reference to `Wayland::Compositor::Compositor(WaylandCompositor*)` because no hardware integration was built.  In your case the hardware integration would be wayland-egl.  There should also be some kind of module check to make sure that prevents you from building the module if no suitable hardware integration configuration was detected.

My solution for now would be:

If you do have a pkg-config file for your wayland-egl configuration as part of the i.mx6 sdk, then add that your your pkg-config path.  If not, you could change edit the configure test for wayland_egl.pro to just include LIBS += -lwayland-egl and possibly also the location of that lib if its somewhere unusual.

--
Andy Nichols
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130108/6f9b7d90/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: config_log.txt
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130108/6f9b7d90/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: qtwayland_build_log.txt
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130108/6f9b7d90/attachment-0001.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wayland-egl.txt.pc
Type: application/octet-stream
Size: 251 bytes
Desc: wayland-egl.txt.pc
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130108/6f9b7d90/attachment.obj>


More information about the Development mailing list