From bcedf7bec6425bf0b9123a87ea0b8cec28fff3a5 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Tue, 29 Jul 2014 01:02:44 -0700 Subject: [PATCH] qemu-native: depends on libxext-native when enable sdl Fixed do_configure error: ERROR: User requested feature sdl configure was not able to find it. Install SDL devel The error message from log.do_configure, and if we check config.log, the error is: sysroots/x86_64-linux/usr/lib/libXext.so.6: undefined reference to `_XEatDataWords' The _XEatDataWords is provided by libX11.so, the dependencies are: qemu-native -> sdl(from the host) -> libXext.so(maybe host or native) -> libX11.so (maybe host or native) For example on Ubuntu 12.04 x86_64, the link route is: qemu-native's do_configure sdl checking: /usr/lib/x86_64-linux-gnu/libSDL.so --> /x86_64-linux/usr/lib/libXext.so.6 --> /usr/lib/x86_64-linux-gnu/libX11.so So it is: host sdl -> sysroot libXext.so.6 -> host X11.so qemu-native doesn't depend on libxext-native, so the error would happen if the libx11-native is being rebuilding and the host's libX11.so doesn't have _XEatDataWords. Manually reproduce it on Ubuntu 12.04 x86_64: $ bitbake qemu-native libx11-native libxext-native $ bitbake qemu-native libx11-native -ccleansstate && bitbake qemu-native Note, only qemu-native has this problem since libxext depends on libX11, and SDL would depend on libxext when x11 is enabled. (From OE-Core rev: fbf6995306d85ad868fa5d33da9b493e7e0de414) Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-devtools/qemu/qemu.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 11bec1c..f771740 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -86,6 +86,9 @@ do_install_append() { PACKAGECONFIG ??= "fdt sdl alsa" PACKAGECONFIG_class-native ??= "fdt alsa" PACKAGECONFIG_class-nativesdk ??= "fdt sdl" +NATIVEDEPS = "" +NATIVEDEPS_class-native = "libxext-native" +PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl ${NATIVEDEPS}," PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr," PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs," @@ -102,7 +105,6 @@ PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+ libvte," PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng," -PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl," PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2," PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1" PACKAGECONFIG[fdt] = "--enable-fdt,--disable-fdt,dtc" -- 2.7.4