mirror of
https://github.com/minio/minio.git
synced 2025-01-24 13:13:16 -05:00
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
|
if [ $? -eq 1 ]; then
|
||||||
echo "ERROR"
|
echo "ERROR"
|
||||||
echo "GOROOT environment variable missing, please refer to Go installation document"
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ check_golang_env() {
|
|||||||
if [ $? -eq 1 ]; then
|
if [ $? -eq 1 ]; then
|
||||||
echo "ERROR"
|
echo "ERROR"
|
||||||
echo "GOPATH environment variable missing, please refer to Go installation document"
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -188,7 +188,7 @@ main() {
|
|||||||
echo "Please install them "
|
echo "Please install them "
|
||||||
echo "${MISSING}"
|
echo "${MISSING}"
|
||||||
echo
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "Done"
|
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…
x
Reference in New Issue
Block a user