[Development] qtwayland on i.mx6

Nichols Andy Andy.Nichols at digia.com
Fri Jan 4 17:09:02 CET 2013


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/20130104/9dac5deb/attachment.html>


More information about the Development mailing list