[meta-virtualization] [meta-cloud-services][PATCH 2/3] librdmacm: add new recipe

Yi Zhao yi.zhao at windriver.com
Sun Jul 23 22:14:23 PDT 2017


User space RDMA 'socket' protocol and libraries for establising RDMA
communication. Includes both Infiniband specific and general RDMA
communication management libraries for unreliable datagram, reliable
connected, and multicast data transfers.

Signed-off-by: Yi Zhao <yi.zhao at windriver.com>
---
 .../librdmacm/files/librdmacm-needs-libdl.patch    | 21 +++++++++++
 recipes-extended/librdmacm/librdmacm_1.0.17.bb     | 41 ++++++++++++++++++++++
 2 files changed, 62 insertions(+)
 create mode 100644 recipes-extended/librdmacm/files/librdmacm-needs-libdl.patch
 create mode 100644 recipes-extended/librdmacm/librdmacm_1.0.17.bb

diff --git a/recipes-extended/librdmacm/files/librdmacm-needs-libdl.patch b/recipes-extended/librdmacm/files/librdmacm-needs-libdl.patch
new file mode 100644
index 0000000..bf15bea
--- /dev/null
+++ b/recipes-extended/librdmacm/files/librdmacm-needs-libdl.patch
@@ -0,0 +1,21 @@
+Librdmacm links against libibverbs, and the current version of libibverbs
+uses dlopen(), so librdmacm must also link against libdl.
+
+Upstream-Status: Pending
+
+Signed-off-by: Donn Seeley <donn.seeley at windriver.com>
+---
+ configure.in |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/configure.in
++++ b/configure.in
+@@ -39,6 +39,8 @@ AC_CHECK_SIZEOF(long)
+ dnl Checks for libraries
+ AC_CHECK_LIB(pthread, pthread_mutex_init, [],
+     AC_MSG_ERROR([pthread_mutex_init() not found.  librdmacm requires libpthread.]))
++AC_CHECK_LIB(dl, dlsym, [],
++    AC_MSG_ERROR([dlsym() not found.  librdmacm requires libdl.]))
+ if test "$disable_libcheck" != "yes"; then
+ AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
+     AC_MSG_ERROR([ibv_get_device_list() not found.  librdmacm requires libibverbs.]))
diff --git a/recipes-extended/librdmacm/librdmacm_1.0.17.bb b/recipes-extended/librdmacm/librdmacm_1.0.17.bb
new file mode 100644
index 0000000..ba022b0
--- /dev/null
+++ b/recipes-extended/librdmacm/librdmacm_1.0.17.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Userspace RDMA Connection Manager"
+DESCRIPTION = "\
+User space RDMA 'socket' protocol and libraries for establising RDMA\
+communication.  Includes both Infiniband specific and general RDMA\
+communication management libraries for unreliable datagram, reliable\
+connected, and multicast data transfers.\
+Also includes ACM (communication management assistant) service."
+
+HOMEPAGE = "http://www.openfabrics.org/downloads/rdmacm/"
+SECTION = "libs/devel"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=39cc3044d68741f9005da73e9b92db95"
+
+DEPENDS = "libibverbs"
+
+# Repo is at http://git.openfabrics.org/git?p=~shefty/librdmacm.git
+SRC_URI = "http://www.openfabrics.org/downloads/rdmacm/${BPN}-${PV}.tar.gz \
+           file://librdmacm-needs-libdl.patch"
+
+SRC_URI[md5sum] = "da6fad887e9c24cb01b74b75f8449cb1"
+SRC_URI[sha256sum] = "9381e1bf2c7079fc257b8eee74e731d3e7eec70e539bb4245084a7b05aeecb2a"
+
+inherit autotools
+
+# Allow plug-in symlinks.
+INSANE_SKIP_${PN} += "dev-so"
+
+PACKAGES += "${PN}-utils"
+FILES_${PN} = "${libdir}/*.so.* ${libdir}/rsocket/*.so*"
+FILES_${PN}-utils = "${bindir}"
+FILES_${PN}-staticdev += "${libdir}/rsocket/librspreload.a"
+FILES_${PN}-dbg += "${libdir}/rsocket/.debug"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind,"
+
+do_install_append() {
+        rm -f ${D}${libdir}/librdmacm.la
+        rm -f ${D}${libdir}/rsocket/librspreload.la
+}
-- 
2.7.4



More information about the meta-virtualization mailing list