mirror of https://github.com/minio/minio.git
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:
commit
4c07aef9e5
67
BUILDDEPS.md
67
BUILDDEPS.md
|
@ -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
|
||||||
```
|
```
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue