minio/BUILDDEPS.md
2015-05-27 17:43:39 -07:00

2.3 KiB

Ubuntu (Kylin) 14.04

Build Dependencies

This installation document assumes Ubuntu 14.04+ on x86-64 platform.

Install Git, GCC
$ 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.

$ sudo apt-get install yasm
Install Go 1.4+

Download Go 1.4+ from https://golang.org/dl/.

$ wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz
$ mkdir -p ${HOME}/bin/
$ mkdir -p ${HOME}/go/
$ tar -C ${HOME}/bin/ -xzf go1.4.linux-amd64.tar.gz
Setup GOROOT and GOPATH

Add the following exports to your ~/.bashrc. Environment variable GOROOT specifies the location of your golang binaries and GOPATH specifies the location of your project workspace.

$ export GOROOT=${HOME}/bin/go
$ export GOPATH=${HOME}/go
$ export PATH=$PATH:${HOME}/bin/go/bin:${GOPATH}/bin

OS X (Yosemite) 10.10

Build Dependencies

This installation document assumes OS X Yosemite 10.10+ on x86-64 platform.

Install brew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Install Git, Python
$ brew install git python
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.

$ brew install yasm
Install Go 1.4+

Install golang binaries using brew

$ brew install go
$ mkdir -p $HOME/go
Setup GOROOT and GOPATH

Add the following exports to your ~/.bashrc. Environment variable GOROOT specifies the location of your golang binaries and GOPATH specifies the location of your project workspace.

$ export GOPATH=${HOME}/go
$ export GOVERSION=$(brew list go | head -n 1 | cut -d '/' -f 6)
$ export GOROOT=$(brew --prefix)/Cellar/go/${GOVERSION}/libexec
$ export PATH=$PATH:${GOPATH}/bin