]> code.ossystems Code Review - openembedded-core.git/commit
qemu-native: depends on libxext-native when enable sdl
authorRobert Yang <liezhi.yang@windriver.com>
Tue, 29 Jul 2014 08:02:44 +0000 (01:02 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 29 Aug 2014 22:43:31 +0000 (23:43 +0100)
commitfbf6995306d85ad868fa5d33da9b493e7e0de414
tree9ed6b3d7fbbff5caf2895ed01921616114bac2d5
parent9972f0686794a01582fd1a15889dcbd89bc5cf72
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@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/qemu/qemu.inc