You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ad...@apache.org on 2019/11/12 08:50:47 UTC

[kudu] branch master updated: docs: additional instructions for installing memkind from source

This is an automated email from the ASF dual-hosted git repository.

adar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git


The following commit(s) were added to refs/heads/master by this push:
     new b97c2f6  docs: additional instructions for installing memkind from source
b97c2f6 is described below

commit b97c2f6ca78097186c3c77e759cf43bab966cc7b
Author: Adar Dembo <ad...@cloudera.com>
AuthorDate: Sat Nov 9 14:59:01 2019 -0800

    docs: additional instructions for installing memkind from source
    
    This is often necessary as most of our supported distros include a memkind
    that's too old. There are some complications, however:
    - Using the default prefix (/usr/local) means Kudu won't find the library.
    - Even after installing to /usr, ldconfig must be run to regenerate the
      cache of dynamic libraries in "trusted locations" like /usr/lib.
    
    Change-Id: I7d52d02ad87a27e5fef5ba5c0ab8932128a29762
    Reviewed-on: http://gerrit.cloudera.org:8080/14683
    Tested-by: Kudu Jenkins
    Reviewed-by: Alexey Serbin <as...@cloudera.com>
---
 docs/installation.adoc        | 39 +++++++++++++++++++++++++++++++++++++++
 src/kudu/cfile/block_cache.cc |  2 +-
 2 files changed, 40 insertions(+), 1 deletion(-)

diff --git a/docs/installation.adoc b/docs/installation.adoc
index 5c5ff9a..3497501 100644
--- a/docs/installation.adoc
+++ b/docs/installation.adoc
@@ -115,6 +115,19 @@ desired, install the memkind library.
 ----
 $ sudo yum install memkind
 ----
++
+If the memkind package provided with the Linux distribution is too old (1.8.0 or
+newer is required), build and install it from source.
++
+----
+$ sudo yum install numactl-libs numactl-devel
+$ git clone https://github.com/memkind/memkind.git
+$ cd memkind
+$ ./build.sh --prefix=/usr
+$ sudo yum remove memkind
+$ sudo make install
+$ sudo ldconfig
+----
 
 . Optional: Install some additional packages, including ruby, if you plan to build documentation.
 +
@@ -252,6 +265,19 @@ desired, install the memkind library.
 ----
 $ sudo apt-get install libmemkind0
 ----
++
+If the memkind package provided with the Linux distribution is too old (1.8.0 or
+newer is required), build and install it from source.
++
+----
+$ sudo apt-get install libnuma1 libnuma-dev
+$ git clone https://github.com/memkind/memkind.git
+$ cd memkind
+$ ./build.sh --prefix=/usr
+$ sudo apt-get remove memkind
+$ sudo make install
+$ sudo ldconfig
+----
 
 . Optional: Install some additional packages, including ruby, if you plan to build documentation.
 +
@@ -376,6 +402,19 @@ desired, install the memkind library.
 ----
 $ sudo zypper install memkind
 ----
++
+If the memkind package provided with the Linux distribution is too old (1.8.0 or
+newer is required), build and install it from source.
++
+----
+$ sudo zypper install numactl-libs numactl-devel
+$ git clone https://github.com/memkind/memkind.git
+$ cd memkind
+$ ./build.sh --prefix=/usr
+$ sudo zypper remove memkind
+$ sudo make install
+$ sudo ldconfig
+----
 
 . Clone the Git repository and change to the new `kudu` directory.
 +
diff --git a/src/kudu/cfile/block_cache.cc b/src/kudu/cfile/block_cache.cc
index c00bee1..bf93703 100644
--- a/src/kudu/cfile/block_cache.cc
+++ b/src/kudu/cfile/block_cache.cc
@@ -55,7 +55,7 @@ DEFINE_string(block_cache_type, "DRAM",
               "Valid choices are 'DRAM' or 'NVM'. DRAM, the default, "
               "caches data in regular memory. 'NVM' caches data "
               "in a memory-mapped file using the memkind library. To use 'NVM', "
-              "libmemkind 1.6.0 or newer must be available on the system; "
+              "libmemkind 1.8.0 or newer must be available on the system; "
               "otherwise Kudu will crash.");
 
 using strings::Substitute;