kudu-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From danburk...@apache.org
Subject [3/3] incubator-kudu git commit: Add from-source installation instructions for SLES 12
Date Fri, 22 Jan 2016 17:14:33 GMT
Add from-source installation instructions for SLES 12

Change-Id: I664fd72f0dfdc6801012ee0d9f972cc05679cbd5
Reviewed-on: http://gerrit.cloudera.org:8080/1863
Reviewed-by: Adar Dembo <adar@cloudera.com>
Tested-by: Internal Jenkins


Project: http://git-wip-us.apache.org/repos/asf/incubator-kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kudu/commit/a65bbcc8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kudu/tree/a65bbcc8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kudu/diff/a65bbcc8

Branch: refs/heads/master
Commit: a65bbcc8e939ae48e5f8b3aa7bde9a46169a874c
Parents: 353b5ec
Author: Dan Burkert <dan@cloudera.com>
Authored: Thu Jan 21 13:43:20 2016 -0800
Committer: Dan Burkert <dan@cloudera.com>
Committed: Fri Jan 22 17:12:51 2016 +0000

----------------------------------------------------------------------
 docs/installation.adoc | 117 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 109 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kudu/blob/a65bbcc8/docs/installation.adoc
----------------------------------------------------------------------
diff --git a/docs/installation.adoc b/docs/installation.adoc
index 3bf43c4..a93f834 100644
--- a/docs/installation.adoc
+++ b/docs/installation.adoc
@@ -46,7 +46,7 @@ three tablet servers is necessary.
 
 .Operating System Requirements
 Linux::
-    - RHEL 6 or Ubuntu 14.04 Trusty.
+    - RHEL 6, Ubuntu 14.04 Trusty, or SLES 12.
     - A kernel and fileystem that support _hole punching_. Hole punching is the use of the
       `fallocate(2)` system call with the `FALLOC_FL_PUNCH_HOLE` option set. See
       link:troubleshooting.html#req_hole_punching[troubleshooting hole punching] for more
@@ -82,6 +82,8 @@ You can install Kudu using packages managed by the operating system.
 
 NOTE: For later versions of Ubuntu, the Ubuntu Trusty packages are reported to install, though
they have not been extensively tested.
 
+NOTE: packages are not yet provided for SLES.
+
 === Install On RHEL Hosts
 
 . Download and configure the Kudu repositories for your operating system, or manually
@@ -234,7 +236,7 @@ $ sudo gem install asciidoctor
 +
 [source,bash]
 ----
-$ git clone http://github.com/cloudera/kudu
+$ git clone https://github.com/cloudera/kudu
 $ cd kudu
 ----
 
@@ -312,7 +314,7 @@ make install
 [[ubuntu_from_source]]
 === Ubuntu or Debian
 
-. Install the prerequisite libraries, if they are not installed:
+. Install the prerequisite libraries, if they are not installed.
 +
 ----
 $ sudo apt-get install git autoconf automake libboost-thread-dev \
@@ -330,7 +332,7 @@ $ sudo apt-get install asciidoctor xsltproc
 +
 [source,bash]
 ----
-$ git clone http://github.com/cloudera/kudu
+$ git clone https://github.com/cloudera/kudu
 $ cd kudu
 ----
 
@@ -386,7 +388,7 @@ the steps marked *Optional* above.
 sudo apt-get -y install git autoconf automake libboost-thread-dev \
   libboost-system-dev curl gcc g++ libssl-dev libsasl2-dev libsasl2-modules \
   libtool ntp patch pkg-config make rsync unzip vim-common gdb python
-git clone http://github.com/cloudera/kudu
+git clone https://github.com/cloudera/kudu
 cd kudu
 thirdparty/build-if-necessary.sh
 mkdir -p build
@@ -399,6 +401,105 @@ make install
 ----
 ====
 
+[[sles_from_source]]
+=== SUSE Linux Enterprise Server
+Building Kudu on SLES requires building Boost from source, since SLES does not
+have system packages containing Boost static libraries. Boost may be built
+anywhere, provided that the `BOOST_ROOT` environment variable is set to the
+location while invoking CMake to build Kudu. In the instructions below, Boost is
+built alongside Kudu.
+
+. Install the prerequisite libraries, if they are not installed.
++
+----
+$ sudo zypper install autoconf automake curl cyrus-sasl-devel gcc gcc-c++ \
+  gdb git libtool make ntp openssl-devel patch pkg-config python rsync unzip vim
+----
+
+. Install Boost.
++
+----
+wget https://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
+tar xzf boost_1_59_0.tar.gz
+pushd boost_1_59_0
+./bootstrap.sh
+./b2 --with-system --with-threads
+export BOOST_ROOT=$(pwd)
+popd
+----
+
+. Clone the Git repository and change to the new `kudu` directory.
++
+[source,bash]
+----
+$ git clone https://github.com/cloudera/kudu
+$ cd kudu
+----
+
+. Build any missing third-party requirements using the `build-if-necessary.sh` script.
++
+[source,bash]
+----
+$ thirdparty/build-if-necessary.sh
+----
+
+. Build Kudu, using the utilities installed in the previous step. Choose a build
+directory for the intermediate output, which can be anywhere in your filesystem
+except for the `kudu` directory itself. Edit the install prefix to the location
+where you would like the Kudu binaries, libraries, and headers installed during
+the `make install` step. The default value is `/usr/local/`.
++
+[source,bash]
+----
+mkdir -p build
+cd build
+BOOST_ROOT=../../boost_1_59_0 \
+  ../thirdparty/installed/bin/cmake \
+  -DCMAKE_BUILD_TYPE=release \
+  -DCMAKE_INSTALL_PREFIX=/opt/kudu \
+  ..
+make -j4
+----
+[[build_install_kudu]]
+. Optional: Install Kudu binaries, libraries, and headers.
+If you do not specify a `DESTDIR`, `/usr/local/` is the default.
++
+[source,bash]
+----
+sudo make DESTDIR=/opt/kudu install
+----
+
+.SLES Build Script
+====
+This script provides an overview of the procedure to build Kudu on SLES, and
+can be used as the basis for an automated deployment scenario.
+
+[source,bash]
+----
+#!/bin/bash
+
+sudo zypper install autoconf automake curl cyrus-sasl-devel gcc gcc-c++ \
+  gdb git libtool make ntp openssl-devel patch pkg-config python rsync unzip vim
+wget https://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
+tar xzf boost_1_59_0.tar.gz
+pushd boost_1_59_0
+./bootstrap.sh
+./b2 --with-system --with-threads
+popd
+git clone https://github.com/cloudera/kudu
+cd kudu
+thirdparty/build-if-necessary.sh
+mkdir -p build
+cd build
+BOOST_ROOT=../../boost_1_59_0 \
+  ../thirdparty/installed/bin/cmake \
+  -DCMAKE_BUILD_TYPE=release \
+  ..
+make -j4
+make install
+----
+====
+
 [[osx_from_source]]
 === OS X
 The Xcode toolchain is necessary for compiling Kudu. Use `xcode-select --install`
@@ -414,7 +515,7 @@ See link:https://issues.cloudera.org/browse/KUDU-1219[OS X Limitations
& Known I
 for more information.
 ====
 
-. Install the prerequisite libraries, if they are not installed:
+. Install the prerequisite libraries, if they are not installed.
 +
 ----
 $ brew install autoconf automake cmake libtool pkg-config boost pstree
@@ -431,7 +532,7 @@ $ brew link -f openssl
 +
 [source,bash]
 ----
-$ git clone http://github.com/cloudera/kudu
+$ git clone https://github.com/cloudera/kudu
 $ cd kudu
 ----
 
@@ -465,7 +566,7 @@ are installed.
 brew install autoconf automake cmake libtool pkg-config boost pstree
 brew install openssl
 brew link -f openssl
-git clone http://github.com/cloudera/kudu
+git clone https://github.com/cloudera/kudu
 cd kudu
 thirdparty/build-if-necessary.sh
 mkdir -p build


Mime
View raw message