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


Kai Kang
 

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@...]
Sent: Thursday, April 18, 2019 6:13 AM
To: Kang, Kai
Cc: meta-virtualization@...; 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@...> wrote:
From: Kai Kang <kai.kang@...>

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@...>
---
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

Join {meta-virtualization@lists.yoctoproject.org to automatically receive all group messages.