2015-01-23 20:25:24 -05:00
## Ubuntu (Kylin) 14.04
2014-11-30 16:55:10 -05:00
### Build Dependencies
2015-01-23 20:25:24 -05:00
This installation document assumes Ubuntu 14.04 or later on x86-64 platform.
2014-11-30 16:55:10 -05:00
2015-04-11 00:18:35 -04:00
##### Install Git, GCC
2014-12-04 04:56:01 -05:00
```sh
2015-04-11 00:18:35 -04:00
$ sudo apt-get install git build-essential
2014-12-04 04:56:01 -05:00
```
2014-12-04 04:18:26 -05:00
##### Install YASM
2015-01-06 23:50:58 -05:00
2015-01-23 20:25:24 -05:00
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.
2015-01-06 23:50:58 -05:00
2014-11-30 16:55:10 -05:00
```sh
$ sudo apt-get install yasm
```
2015-01-23 20:25:24 -05:00
##### 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.
2014-12-04 04:18:26 -05:00
For example:
2014-11-30 16:55:10 -05:00
```sh
2015-01-23 20:25:24 -05:00
.... Extract and install golang ....
2014-12-20 11:56:21 -05:00
$ wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz
2014-12-02 16:14:24 -05:00
$ mkdir -p ${HOME}/local
2015-01-23 20:25:24 -05:00
$ mkdir -p $HOME/mygo
2014-12-20 11:56:21 -05:00
$ tar -C ${HOME}/local -xzf go1.4.linux-amd64.tar.gz
2015-01-23 20:25:24 -05:00
.... Export necessary environment variables ....
2014-12-02 16:14:24 -05:00
$ export PATH=$PATH:${HOME}/local/go/bin
2014-12-23 23:35:05 -05:00
$ export GOROOT=${HOME}/local/go
2015-01-23 20:25:24 -05:00
$ export GOPATH=$HOME/mygo
$ export PATH=$PATH:$GOPATH/bin
.... Add paths to your bashrc ....
2015-02-02 00:18:46 -05:00
$ cat < < EOF > ${HOME}/.bashrc
export PATH=$PATH:${HOME}/local/go/bin
export GOROOT=${HOME}/local/go
export GOPATH=$HOME/mygo
export PATH=$PATH:$GOPATH/bin
EOF
2015-01-23 20:25:24 -05:00
```
## 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)"
```
2015-04-11 00:18:35 -04:00
##### Install Git, Python
2015-01-23 20:25:24 -05:00
```sh
2015-02-22 00:38:04 -05:00
$ brew install git python
2015-01-23 20:25:24 -05:00
```
##### 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
2014-12-02 16:14:24 -05:00
$ mkdir -p $HOME/mygo
2015-01-23 20:25:24 -05:00
.... Export necessary environment variables ....
2014-11-30 16:55:10 -05:00
$ export GOPATH=$HOME/mygo
$ export PATH=$PATH:$GOPATH/bin
2015-02-02 00:18:46 -05:00
$ GOVERSION=$(brew list go | head -n 1 | cut -d '/' -f 6)
$ export GOROOT=$(brew --prefix)/Cellar/go/$GOVERSION/libexec
2015-01-23 20:25:24 -05:00
.... Add paths to your bashrc ....
2015-02-02 00:18:46 -05:00
$ cat < < EOF > ~/.bashrc
GOVERSION=$(brew list go | head -n 1 | cut -d '/' -f 6)
export GOPATH=$HOME/mygo
export PATH=$PATH:$GOPATH/bin
export GOROOT=$(brew --prefix)/Cellar/go/$GOVERSION/libexec
EOF
2014-11-30 16:55:10 -05:00
```