Merge pull request #50 from harshavardhana/pr_out_add_osx_builddeps_installation_instructions_macosx_support_works_under_gcc_as_clang_lacks_some_extended_syntax_gas_support_issue_48

This commit is contained in:
Harshavardhana 2015-01-23 17:31:26 -08:00
commit 4c07aef9e5
2 changed files with 63 additions and 6 deletions

View File

@ -1,5 +1,6 @@
## Ubuntu (Kylin) 14.04
### Build Dependencies ### 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 ##### Install Git and GCC
```sh ```sh
@ -8,22 +9,78 @@ $ sudo apt-get install git build-essential
##### Install YASM ##### 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 ```sh
$ sudo apt-get install yasm $ sudo apt-get install yasm
``` ```
##### Install Go 1.3+ ##### Install Go 1.4+
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. 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: For example:
```sh ```sh
.... Extract and install golang ....
$ wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz $ wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz
$ mkdir -p ${HOME}/local $ mkdir -p ${HOME}/local
$ mkdir -p $HOME/mygo
$ tar -C ${HOME}/local -xzf go1.4.linux-amd64.tar.gz $ tar -C ${HOME}/local -xzf go1.4.linux-amd64.tar.gz
.... Export necessary environment variables ....
$ export PATH=$PATH:${HOME}/local/go/bin $ export PATH=$PATH:${HOME}/local/go/bin
$ export GOROOT=${HOME}/local/go $ export GOROOT=${HOME}/local/go
$ mkdir -p $HOME/mygo
$ export GOPATH=$HOME/mygo $ export GOPATH=$HOME/mygo
$ export PATH=$PATH:$GOPATH/bin $ 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
``` ```

View File

@ -23,7 +23,7 @@ Minio's design is inspired by Amazon's S3 for its API and Facebook's Haystack fo
| ------------- | ------------- | | ------------- | ------------- |
| Linux | Yes | | Linux | Yes |
| Windows | Not yet | | Windows | Not yet |
| Mac OSX | Not yet | | Mac OSX | Yes(with GCC) |
### Supported architectures ### Supported architectures