From e890199cac39b072dec04a2be6c342e99ce29114 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Fri, 23 Jan 2015 17:25:24 -0800 Subject: [PATCH] Add OSX builddeps installation instructions, MacOSX support works under ``GCC`` as ``Clang`` lacks some extended syntax GAS support issue#48 --- BUILDDEPS.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++++---- README.md | 2 +- 2 files changed, 62 insertions(+), 5 deletions(-) diff --git a/BUILDDEPS.md b/BUILDDEPS.md index c37d42900..b243ae355 100644 --- a/BUILDDEPS.md +++ b/BUILDDEPS.md @@ -1,5 +1,6 @@ +## Ubuntu (Kylin) 14.04 ### Build Dependencies -This installation document assumes Ubuntu 12.04 or later on x86-64. +This installation document assumes Ubuntu 14.04 or later on x86-64 platform. ##### Install Git and GCC ```sh @@ -8,22 +9,78 @@ $ sudo apt-get install git build-essential ##### Install YASM -Minio depends on Intel ISAL library for erasure coding, ISAL uses Intel AVX2 processor instructions, to compile these files one needs to install ``yasm`` which supports AVX2 instructions. AVX2 support only ended in ``yasm`` from version ``1.2.0``, any version below ``1.2.0`` will throw a build error as referenced in issue [here](https://github.com/Minio-io/minio/issues/163) +Minio depends on Intel ISAL library for erasure coding, ISAL uses Intel AVX2 processor instructions, to compile these files one needs to install ``yasm`` which supports AVX2 instructions. AVX2 support only ended in ``yasm`` from version ``1.2.0``, any version below ``1.2.0`` will throw a build error. ```sh $ sudo apt-get install yasm ``` -##### Install Go 1.3+ -Download Go 1.3+ from [https://golang.org/dl/](https://golang.org/dl/) and extract it into ``${HOME}/local`` and setup ``${HOME}/mygo`` as your project workspace folder. +##### Install Go 1.4+ +Download Go 1.4+ from [https://golang.org/dl/](https://golang.org/dl/) and extract it into ``${HOME}/local`` and setup ``${HOME}/mygo`` as your project workspace folder. For example: ```sh +.... Extract and install golang .... + $ wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz $ mkdir -p ${HOME}/local +$ mkdir -p $HOME/mygo $ tar -C ${HOME}/local -xzf go1.4.linux-amd64.tar.gz + +.... Export necessary environment variables .... + $ export PATH=$PATH:${HOME}/local/go/bin $ export GOROOT=${HOME}/local/go +$ export GOPATH=$HOME/mygo +$ export PATH=$PATH:$GOPATH/bin + +.... Add paths to your bashrc .... + +$ echo "export PATH=$PATH:${HOME}/local/go/bin" >> ${HOME}/.bashrc +$ echo "export GOROOT=${HOME}/local/go" >> ${HOME}/.bashrc +$ echo "export GOPATH=$HOME/mygo" >> ${HOME}/.bashrc +$ echo "export PATH=$PATH:$GOPATH/bin" >> ${HOME}/.bashrc +``` + +## Mac OSX (Yosemite) 10.10 +### Build Dependencies +This installation document assumes Mac OSX Yosemite 10.10 or later on x86-64 platform. + +##### Install brew +```sh +$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" +``` + +##### Install Git and GCC +```sh +$ brew install git gcc +``` + +##### Install YASM + +Minio depends on Intel ISAL library for erasure coding, ISAL uses Intel AVX2 processor instructions, to compile these files one needs to install ``yasm`` which supports AVX2 instructions. AVX2 support only ended in ``yasm`` from version ``1.2.0``, any version below ``1.2.0`` will throw a build error. + +```sh +$ brew install yasm +``` + +##### Install Go 1.4+ + +On MacOSX ``brew.sh`` is the best way to install golang + +For example: +```sh +.... Install golang using `brew` .... + +$ brew install go $ mkdir -p $HOME/mygo + +.... Export necessary environment variables .... + $ export GOPATH=$HOME/mygo $ export PATH=$PATH:$GOPATH/bin + +.... Add paths to your bashrc .... + +$ echo "export GOPATH=$HOME/mygo" >> ${HOME}/.bashrc +$ echo "export PATH=$PATH:$GOPATH/bin" >> ${HOME}/.bashrc ``` diff --git a/README.md b/README.md index c6749ee01..903ae6d20 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Minio's design is inspired by Amazon's S3 for its API and Facebook's Haystack fo | ------------- | ------------- | | Linux | Yes | | Windows | Not yet | -| Mac OSX | Not yet | +| Mac OSX | Yes(with GCC) | ### Supported architectures