[meta-virtualization] [PATCH 2/5] xen: drop explicit DEPEND on libgcc

Doug Goldstein cardoe at cardoe.com
Tue Jan 26 07:19:14 PST 2016


On 1/25/16 5:24 PM, Chris Patterson wrote:
> On Mon, Jan 25, 2016 at 10:29 AM, Doug Goldstein <cardoe at cardoe.com> wrote:
>> The ELFs that get built in the 'xen-xl' package do not have a NEEDED
>> entry on libgcc. 'xen-base' is a meta package and itself should not
>> depend on a library like this. Yocto checks the NEEDED of the dynamic
>> section and automatically includes those libraries as dependencies.
>>
>> Signed-off-by: Doug Goldstein <cardoe at cardoe.com>
>> ---
>>  recipes-extended/xen/xen.inc | 4 +---
>>  1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
>> index c63cb2c..c0acbcd 100644
>> --- a/recipes-extended/xen/xen.inc
>> +++ b/recipes-extended/xen/xen.inc
>> @@ -54,7 +54,7 @@ DEPENDS = " \
>>  RDEPENDS_${PN} = ""
>>
>>  RDEPENDS_${PN}-base = "\
>> -    libgcc bash perl xz \
>> +    bash perl xz \
> 
> Makes sense to remove from the meta package, +1.
> 
>>      ${PN}-blktap \
>>      ${PN}-console \
>>      ${PN}-libblktapctl \
>> @@ -137,8 +137,6 @@ RDEPENDS_${PN}-xendomains = "\
>>      ${PN}-xenstored \
>>      "
>>
>> -RDEPENDS_${PN}-xl = "libgcc"
>> -
> 
> The commit that added libgcc warned some operations may not work:
> 
> commit c93bc0c0185da21482164d9f76047715349cbb17
> Author: Philip Tricca <flihp at twobit.us>
> Date:   Thu Jan 23 03:19:33 2014 +0000
> 
>     xen: Add libgcc as runtime dependency of xen-xl package.
> 
>     Much of xl operates fine without libgcc but some operations complain
>     that pthread_cancel won't work properly without libgcc_s.so.1
>     installed. The exact text is:
> 
>     libgcc_s.so.1 must be installed for pthread_cancel to work
> 
>     Signed-off-by: Philip Tricca <flihp at twobit.us>
>     Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
> 
> 
> Given the above warning, I went ahead a did a test. I took my image
> which had libgcc-s installed anyways, moved /lib/libgcc-s.so.1 to
> /tmp, then attempted to create a VM:
> 
> ...
> domainbuilder: detail: xc_dom_gnttab_hvm_seed: called, pfn=0x10f000
> libxl: error: libxl_dm.c:1854:device_model_spawn_outcome: domain 4
> device model: spawn failed (rc=-3)
> libxl: error: libxl_create.c:1341:domcreate_devmodel_started: device
> model did not start: -3
> libxl: error: libxl_dm.c:1964:kill_device_model: Device Model already exited
> 
> libxl: error: libxl.c:1591:libxl__destroy_domid: non-existant domain 4
> libxl: error: libxl.c:1549:domain_destroy_callback: unable to destroy
> guest with domid 4
> libxl: error: libxl.c:1476:domain_destroy_cb: destruction of domain 4 failed
> libgcc_s.so.1 must be installed for pthread_cancel to work
> Aborted
> ...
> 
> So, I imagine that this patch is probably not wise, at least for my
> environment :)  Although, it would appear that qemu pulls libgcc into
> my image regardless.
> 

hmm. I'd rather respin it without that change then. Interesting that the
NEEDED check doesn't pick it up as a dependency.

-- 
Doug Goldstein

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 959 bytes
Desc: OpenPGP digital signature
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20160126/40719135/attachment.pgp>


More information about the meta-virtualization mailing list