[oe-commits] Robert Yang : qemu-native: depends on libxext-native when enable sdl

git at git.openembedded.org git at git.openembedded.org
Sat Aug 30 07:39:31 UTC 2014


Module: openembedded-core.git
Branch: master
Commit: fbf6995306d85ad868fa5d33da9b493e7e0de414
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=fbf6995306d85ad868fa5d33da9b493e7e0de414

Author: Robert Yang <liezhi.yang at windriver.com>
Date:   Tue Jul 29 01:02:44 2014 -0700

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 --> <sysroots>/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.

Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 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"



More information about the Openembedded-commits mailing list