[meta-virtualization] [m-c-s][PATCH] glusterfs/librdmacm: fix dependency issue with libibverbs

Kang Kai Kai.Kang at windriver.com
Thu Apr 25 19:00:58 PDT 2019


On 2019/4/19 上午9:18, Slater, Joseph wrote:
> Comments inline, preceded by [Joe Slater].  Sorry, but I'm using outlook...
>
> -----Original Message-----
> From: Bruce Ashfield [mailto:bruce.ashfield at gmail.com]
> Sent: Thursday, April 18, 2019 6:13 AM
> To: Kang, Kai
> Cc: meta-virtualization at yoctoproject.org; Slater, Joseph
> Subject: Re: [meta-virtualization][m-c-s][PATCH] glusterfs/librdmacm: fix dependency issue with libibverbs
>
> On Wed, Apr 17, 2019 at 3:51 AM <kai.kang at windriver.com> wrote:
>> From: Kai Kang <kai.kang at windriver.com>
>>
>> glusterfs and librdmacm depend on libibverbs. But libibverbs has been
>> set imcompatible with mipsarch and arm. Update glusterfs and librdmacm
>> accordingly.
>>
>> Signed-off-by: Kai Kang <kai.kang at windriver.com>
>> ---
>>   recipes-extended/glusterfs/glusterfs.inc      | 3 +++
>>   recipes-extended/librdmacm/librdmacm_1.1.0.bb | 3 +++
>>   2 files changed, 6 insertions(+)
>>
>> diff --git a/recipes-extended/glusterfs/glusterfs.inc b/recipes-extended/glusterfs/glusterfs.inc
>> index 5843d7c6..3fc04ffb 100644
>> --- a/recipes-extended/glusterfs/glusterfs.inc
>> +++ b/recipes-extended/glusterfs/glusterfs.inc
>> @@ -51,6 +51,9 @@ EXTRA_OECONF = "ac_cv_file__etc_debian_version=no \
>>                  "
>>
>>   PACKAGECONFIG ??= "georeplication libibverbs"
>> +PACKAGECONFIG_remove_mipsarch = "libibverbs"
>> +PACKAGECONFIG_remove_arm = "libibverbs"
> [Joe Slater]
> Because this removes libibverbs from all PACKAGECONG's,  I think it would be better to set the lazy default via a local variable.

Hi Joe,

It seems just remove "libibverbs" for _arm and _mipsarch,  isn't it?


>
>> +
>>   PACKAGECONFIG[bd-xlator] = "--enable-bd-xlator,--disable-bd-xlator,lvm2,"
>>   PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
>>   PACKAGECONFIG[georeplication] = "--enable-georeplication,--disable-georeplication,,rsync"
>> diff --git a/recipes-extended/librdmacm/librdmacm_1.1.0.bb b/recipes-extended/librdmacm/librdmacm_1.1.0.bb
>> index 30a0c943..edf92f01 100644
>> --- a/recipes-extended/librdmacm/librdmacm_1.1.0.bb
>> +++ b/recipes-extended/librdmacm/librdmacm_1.1.0.bb
>> @@ -39,3 +39,6 @@ do_install_append() {
>>           rm -f ${D}${libdir}/librdmacm.la
>>           rm -f ${D}${libdir}/rsocket/librspreload.la
>>   }
>> +
>> +COMPATIBLE_HOST_mipsarch = "none"
>> +COMPATIBLE_HOST_arm = "none"
> [Joe Slater]
> Maybe an exclusion for world would be better, because this restriction will be gone when the libibverbs provider is fixed.

It depends on what strategy we perfer.

If set COMPATIBLE_HOST, when build librdmacm, it shows error message:

ERROR: Nothing PROVIDES 'librdmacm'
librdmacm was skipped: incompatible with host arm-wrs-linux-gnueabi (not 
in COMPATIBLE_HOST)


If set exclude from world, run 'bitbake librdmacm' shows following errors:

NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'virtual/libibverbs' (but 
/home/kkang/buildarea/wrlx-201902/repo/layers/meta-cloud-services/recipes-extended/librdmacm/librdmacm_1.1.0.bb 
DEPENDS on or otherwise requires it)
libibverbs PROVIDES virtual/libibverbs but was skipped: incompatible 
with host arm-wrs-linux-gnueabi (not in COMPATIBLE_HOST)
ERROR: Required build target 'librdmacm' has no buildable providers.
Missing or unbuildable dependency chain was: ['librdmacm', 
'virtual/libibverbs']


I prefer COMPATIBLE_HOST way myself because the error message is a 
little clear.

Regards,
Kai

>
> This should be a separate commit. We shouldn't mix the default
> packageconfig change
> and the marking of librdmacm as incompatible with mips/arm into the same commit.
>
> In particular, since I'd like the error message you get if librdmacm
> is compiled for arm/mips
> to be logged in the commit where we make it incompatible.
>
> Bruce
>
>> --
>> 2.20.0
>>
>

-- 
Kai Kang



More information about the meta-virtualization mailing list