[ https://issues.apache.org/jira/browse/MESOS-3139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16594019#comment-16594019 ]
ASF GitHub Bot commented on MESOS-3139: --------------------------------------- greggomann closed pull request #105: MESOS-3139 Added first draft CMake build docs. URL: https://github.com/apache/mesos/pull/105 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/docs/cmake.md b/docs/cmake.md new file mode 100644 index 0000000000..eac94da76a --- /dev/null +++ b/docs/cmake.md @@ -0,0 +1,59 @@ +--- +title: Apache Mesos - CMake +layout: documentation +--- + +# CMake + +## Downloading Mesos + +There are different ways you can get Mesos: + +1\. Download the latest stable release from [Apache](http://mesos.apache.org/downloads/) (***Recommended***) + + $ wget http://www.apache.org/dist/mesos/0.28.1/mesos-0.28.1.tar.gz + $ tar -zxf mesos-0.28.1.tar.gz + +2\. Clone the Mesos git [repository](https://git-wip-us.apache.org/repos/asf/mesos.git) (***Advanced Users Only***) + + $ git clone https://git-wip-us.apache.org/repos/asf/mesos.git + +*NOTE: If you have problems running the above commands, you may need to first run through the ***System Requirements*** section below to install the `wget`, `tar`, and `git` utilities for your system.* + +## System Requirements + +Mesos runs on Linux (64 Bit) and Mac OS X (64 Bit). To build Mesos from source, GCC 4.8.1+ or Clang 3.5+ and CMake 3.5.1 is required. + +For full support of process isolation under Linux a recent kernel >=3.10 is required. + +Make sure your hostname is resolvable via DNS or via `/etc/hosts` to allow full support of Docker's host-networking capabilities, needed for some of the Mesos tests. When in doubt, please validate that `/etc/hosts` contains your hostname. + +### Ubuntu 16.04 + +Following are the instructions for stock Ubuntu 16.04. If you are using a different OS, please install the packages accordingly. + + # Update the packages. + $ sudo apt-get update + + # Install a few utility tools. + $ sudo apt-get install -y tar wget git + + # Install the latest OpenJDK. + $ sudo apt-get install -y openjdk-7-jdk + + # Install autotools (Only necessary if building from git repository). + $ sudo apt-get install -y autoconf libtool + + # Install other Mesos dependencies. + $ sudo apt-get -y install build-essential python-dev libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev + +## Building Mesos with CMake + + # Change working directory. + $ cd mesos + + # Configure and build. + $ mkdir build + $ cd build + $ cmake .. + $ make diff --git a/docs/home.md b/docs/home.md index 16a77da437..75d659a1e8 100644 --- a/docs/home.md +++ b/docs/home.md @@ -13,6 +13,7 @@ layout: documentation ## Running Mesos * [Getting Started](getting-started.md) for basic instructions on compiling and installing Mesos. +* [CMake](cmake.md) for building Mesos with CMake. * [Upgrades](upgrades.md) for upgrading a Mesos cluster. * [Configuration](configuration.md) for command-line arguments. * [HTTP Endpoints](endpoints/) for available HTTP endpoints. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Incorporate CMake into standard documentation > --------------------------------------------- > > Key: MESOS-3139 > URL: https://issues.apache.org/jira/browse/MESOS-3139 > Project: Mesos > Issue Type: Task > Components: cmake > Reporter: Alex Clemmer > Assignee: Alex Clemmer > Priority: Major > Labels: cmake, mesosphere, microsoft, windows-mvp > Fix For: 1.3.0 > > > Right now it's anyone's guess how to build with CMake. If we want people to > use it, we should put up documentation. The central challenge is that the > CMake instructions will be slightly different for different platforms. > For example, on Linux, the gist of the build is basically the same as > autotools; you pull down the system dependencies (like APR, _etc_.), and then: > ``` > ./bootstrap > mkdir build-cmake && cd build-cmake > cmake .. > make > ``` > But, on Windows, it will be somewhat more complicated. There is no bootstrap > step, for example, because Windows doesn't have bash natively. And even when > we put that in, you'll still have to build the glog stuff out-of-band because > CMake has no way of booting up Visual Studio and calling "build." > So practically, we need to figure out: > * What our build story is for different platforms > * Write specific instructions for our "core" target platforms. -- This message was sent by Atlassian JIRA (v7.6.3#76005)