qtbase のビルドが失敗する

問題

“qtbase” をビルドすると、次のエラーが発生する。

.../src/plugins/platforms/xcb/qxcbconnection.cpp: In constructor 'QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, const char*)':
.../src/plugins/platforms/xcb/qxcbconnection.cpp:280:45: error: invalid conversion from 'EGLNativeDisplayType {aka void*}' to 'Display* {aka _XDisplay*}' [-fpermissive]
         m_connection = XGetXCBConnection(dpy);
                                             ^
In file included from .../src/plugins/platforms/xcb/qxcbconnection.cpp:72:0:
.../usr/include/X11/Xlib-xcb.h:13:19: error:   initializing argument 1 of 'xcb_connection_t* XGetXCBConnection(Display*)' [-fpermissive]
 xcb_connection_t *XGetXCBConnection(Display *dpy);
                   ^
.../src/plugins/platforms/xcb/qxcbconnection.cpp:281:51: error: invalid conversion from 'EGLNativeDisplayType {aka void*}' to 'Display* {aka _XDisplay*}' [-fpermissive]
         XSetEventQueueOwner(dpy, XCBOwnsEventQueue);
                                                   ^
In file included from .../src/plugins/platforms/xcb/qxcbconnection.cpp:72:0:
.../usr/include/X11/Xlib-xcb.h:16:6: error:   initializing argument 1 of 'void XSetEventQueueOwner(Display*, XEventQueueOwner)' [-fpermissive]
 void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner);
      ^
...
make[5]: *** [.obj/qxcbconnection.o] Error 1
make[5]: *** Waiting for unfinished jobs....
......
make[4]: *** [sub-xcb-plugin-pro-make_first-ordered] Error 2
...
make[3]: *** [sub-xcb-make_first] Error 2
...
make[2]: *** [sub-platforms-make_first] Error 2
...
make[1]: *** [sub-plugins-make_first] Error 2
...
make: *** [sub-src-make_first] Error 2
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_compile (log file is located at .../temp/log.do_compile)
環境
  • Yocto 1.6.2 (daisy)
  • meta-qt5 (daisy, commit 23405d3a66c308e0b2ea64308b834285850c5c9f)
解決方法

qtbase レシピに次の行を加える。

PACKAGECONFIG_remove = "xcb"
参考文献