Merge pull request #661 from harshavardhana/pr_out_fix_builddeps_paths_for_golang_installation
This commit is contained in:
commit
d0dd047bef
|
@ -81,7 +81,7 @@ check_golang_env() {
|
|||
if [ $? -eq 1 ]; then
|
||||
echo "ERROR"
|
||||
echo "GOROOT environment variable missing, please refer to Go installation document"
|
||||
echo "https://github.com/minio/minio/blob/master/BUILDDEPS.md#install-go-13"
|
||||
echo "https://github.com/minio/minio/blob/master/INSTALLGO.md#install-go-13"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@ -89,7 +89,7 @@ check_golang_env() {
|
|||
if [ $? -eq 1 ]; then
|
||||
echo "ERROR"
|
||||
echo "GOPATH environment variable missing, please refer to Go installation document"
|
||||
echo "https://github.com/minio/minio/blob/master/BUILDDEPS.md#install-go-13"
|
||||
echo "https://github.com/minio/minio/blob/master/INSTALLGO.md#install-go-13"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
@ -188,7 +188,7 @@ main() {
|
|||
echo "Please install them "
|
||||
echo "${MISSING}"
|
||||
echo
|
||||
echo "Follow https://github.com/minio/minio/blob/master/BUILDDEPS.md for further instructions"
|
||||
echo "Follow https://github.com/minio/minio/blob/master/INSTALLGO.md for further instructions"
|
||||
exit 1
|
||||
fi
|
||||
echo "Done"
|
||||
|
|
|
@ -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
|
64
pkg/erasure/INSTALLGO.md
Normal file
64
pkg/erasure/INSTALLGO.md
Normal file
|
@ -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 a new issue