Patchwork qemu: explicitly disable xen support

login
register
mail settings
Submitter Ming Liu
Date Nov. 13, 2013, 8:15 a.m.
Message ID <1384330547-1638-1-git-send-email-ming.liu@windriver.com>
Download mbox | patch
Permalink /patch/61597/
State New
Headers show

Comments

Ming Liu - Nov. 13, 2013, 8:15 a.m.
We don't make use of xen and when building on Ubuntu 13.04 when
libxen-dev is installed on the build host you will get errors like the
following:

| /usr/include/x86_64-linux-gnu/bits/string3.h:81: warning: memset used with constant zero length parameter; this could be due to transposed parameters
| /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: undefined reference to `lzma_alone_decoder@XZ_5.0'
| /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: undefined reference to `lzma_code@XZ_5.0'
| /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: undefined reference to `lzma_stream_decoder@XZ_5.0'
| /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: undefined reference to `lzma_end@XZ_5.0'

This change disables xen for both -native and target packages but
since it is a PACKAGECONFIG a user could tune this to have xen support
in the target package.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Ming Liu <ming.liu@windriver.com>
---
 meta/recipes-devtools/qemu/qemu.inc | 1 +
 1 file changed, 1 insertion(+)
Saul Wold - Nov. 13, 2013, 6:28 p.m.
On 11/13/2013 12:15 AM, Ming Liu wrote:
> We don't make use of xen and when building on Ubuntu 13.04 when
> libxen-dev is installed on the build host you will get errors like the
> following:
>
> | /usr/include/x86_64-linux-gnu/bits/string3.h:81: warning: memset used with constant zero length parameter; this could be due to transposed parameters
> | /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: undefined reference to `lzma_alone_decoder@XZ_5.0'
> | /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: undefined reference to `lzma_code@XZ_5.0'
> | /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: undefined reference to `lzma_stream_decoder@XZ_5.0'
> | /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: undefined reference to `lzma_end@XZ_5.0'
>
> This change disables xen for both -native and target packages but
> since it is a PACKAGECONFIG a user could tune this to have xen support
> in the target package.
>
> Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> Signed-off-by: Ming Liu <ming.liu@windriver.com>
> ---
>   meta/recipes-devtools/qemu/qemu.inc | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
> index 702fe01..95a3aa3 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -79,6 +79,7 @@ do_install_append() {
>   PACKAGECONFIG ??= ""
>   PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
>   PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
> +PACKAGECONFIG[xen] = "--enable-xen, --disable-xen,,"
>
If enabled what dependencies or rdepends does it need?  liblzma seems 
like it might be one.

Sau!

>   # Qemu target will not build in world build for ARM or Mips
>   BROKEN_qemuarm = "1"
>
Ming Liu - Nov. 14, 2013, 1:55 a.m.
On 11/14/2013 02:28 AM, Saul Wold wrote:
> On 11/13/2013 12:15 AM, Ming Liu wrote:
>> We don't make use of xen and when building on Ubuntu 13.04 when
>> libxen-dev is installed on the build host you will get errors like the
>> following:
>>
>> | /usr/include/x86_64-linux-gnu/bits/string3.h:81: warning: memset 
>> used with constant zero length parameter; this could be due to 
>> transposed parameters
>> | /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: 
>> undefined reference to `lzma_alone_decoder@XZ_5.0'
>> | /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: 
>> undefined reference to `lzma_code@XZ_5.0'
>> | /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: 
>> undefined reference to `lzma_stream_decoder@XZ_5.0'
>> | /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libxenguest.so: 
>> undefined reference to `lzma_end@XZ_5.0'
>>
>> This change disables xen for both -native and target packages but
>> since it is a PACKAGECONFIG a user could tune this to have xen support
>> in the target package.
>>
>> Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
>> Signed-off-by: Ming Liu <ming.liu@windriver.com>
>> ---
>>   meta/recipes-devtools/qemu/qemu.inc | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/meta/recipes-devtools/qemu/qemu.inc 
>> b/meta/recipes-devtools/qemu/qemu.inc
>> index 702fe01..95a3aa3 100644
>> --- a/meta/recipes-devtools/qemu/qemu.inc
>> +++ b/meta/recipes-devtools/qemu/qemu.inc
>> @@ -79,6 +79,7 @@ do_install_append() {
>>   PACKAGECONFIG ??= ""
>>   PACKAGECONFIG[virtfs] = "--enable-virtfs 
>> --enable-attr,--disable-virtfs,libcap attr,"
>>   PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
>> +PACKAGECONFIG[xen] = "--enable-xen, --disable-xen,,"
>>
> If enabled what dependencies or rdepends does it need?  liblzma seems 
> like it might be one.
I'd like to explain it in more detail, there is no dependency 
relationship between them actually, and we don't need set any rdepends 
for it.
The root cause is that when xen support is detected by qemu configure, 
"-lxenstore" is added to LDFLAGS, but mostly libxenstore.so itself on 
host is also compiled as a shared library, so it is linked to liblzma.so 
of host path, which will lead a version mismatch with lzma in sysroot.

//Ming Liu

>
> Sau!
>
>>   # Qemu target will not build in world build for ARM or Mips
>>   BROKEN_qemuarm = "1"
>>
>
>

Patch

diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 702fe01..95a3aa3 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -79,6 +79,7 @@  do_install_append() {
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
 PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
+PACKAGECONFIG[xen] = "--enable-xen, --disable-xen,,"
 
 # Qemu target will not build in world build for ARM or Mips
 BROKEN_qemuarm = "1"