Merge pull request #661 from harshavardhana/pr_out_fix_builddeps_paths_for_golang_installation
commit
d0dd047bef
@ -1,80 +0,0 @@ |
|||||||
## Ubuntu (Kylin) 14.04 |
|
||||||
### Build Dependencies |
|
||||||
This installation document assumes Ubuntu 14.04 or later on x86-64 platform. |
|
||||||
|
|
||||||
##### Install YASM |
|
||||||
|
|
||||||
Erasure depends on Intel ISAL library, 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.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 |
|
||||||
```sh |
|
||||||
$ brew install git |
|
||||||
``` |
|
||||||
|
|
||||||
##### Install YASM |
|
||||||
|
|
||||||
Erasure depends on Intel ISAL library, 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 |
|
||||||
``` |
|
@ -1,30 +0,0 @@ |
|||||||
### Setup your Erasure Github Repository |
|
||||||
Fork [Erasure upstream](https://github.com/minio/erasure/fork) source repository to your own personal repository. Copy the URL and pass it to ``go get`` command. Go uses git to clone a copy into your project workspace folder. |
|
||||||
```sh |
|
||||||
$ git clone https://github.com/$USER_ID/erasure |
|
||||||
$ cd erasure |
|
||||||
$ mkdir -p ${GOPATH}/src/github.com/minio |
|
||||||
$ ln -s ${PWD} $GOPATH/src/github.com/minio/ |
|
||||||
``` |
|
||||||
|
|
||||||
### Compiling Erasure from source |
|
||||||
```sh |
|
||||||
$ go generate |
|
||||||
$ go build |
|
||||||
``` |
|
||||||
### Developer Guidelines |
|
||||||
To make the process as seamless as possible, we ask for the following: |
|
||||||
* Go ahead and fork the project and make your changes. We encourage pull requests to discuss code changes. |
|
||||||
- Fork it |
|
||||||
- Create your feature branch (git checkout -b my-new-feature) |
|
||||||
- Commit your changes (git commit -am 'Add some feature') |
|
||||||
- Push to the branch (git push origin my-new-feature) |
|
||||||
- Create new Pull Request |
|
||||||
* When you're ready to create a pull request, be sure to: |
|
||||||
- Have test cases for the new code. If you have questions about how to do it, please ask in your pull request. |
|
||||||
- Run `go fmt` |
|
||||||
- Squash your commits into a single commit. `git rebase -i`. It's okay to force update your pull request. |
|
||||||
- Make sure `go test -race ./...` and `go build` completes. |
|
||||||
* Read [Effective Go](https://github.com/golang/go/wiki/CodeReviewComments) article from Golang project |
|
||||||
- `Erasure` project is strictly conformant with Golang style |
|
||||||
- if you happen to observe offending code, please feel free to send a pull request |
|
@ -0,0 +1,64 @@ |
|||||||
|
## Ubuntu (Kylin) 14.04 |
||||||
|
### Build Dependencies |
||||||
|
This installation document assumes Ubuntu 14.04+ on x86-64 platform. |
||||||
|
|
||||||
|
##### Install Git, GCC, yasm |
||||||
|
```sh |
||||||
|
$ sudo apt-get install git build-essential yasm |
||||||
|
``` |
||||||
|
|
||||||
|
##### Install Go 1.4+ |
||||||
|
|
||||||
|
Download Go 1.4+ from [https://golang.org/dl/](https://golang.org/dl/). |
||||||
|
|
||||||
|
```sh |
||||||
|
$ 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. |
||||||
|
|
||||||
|
```sh |
||||||
|
$ 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 |
||||||
|
```sh |
||||||
|
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
||||||
|
``` |
||||||
|
|
||||||
|
##### Install Git, Python |
||||||
|
```sh |
||||||
|
$ brew install git python yasm |
||||||
|
``` |
||||||
|
|
||||||
|
##### Install Go 1.4+ |
||||||
|
|
||||||
|
Install golang binaries using `brew` |
||||||
|
|
||||||
|
```sh |
||||||
|
$ 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. |
||||||
|
|
||||||
|
```sh |
||||||
|
$ 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 |
||||||
|
``` |
Loading…
Reference in new issue