I am testing on project obc-peer.
I am confused where should I get about github.com/**** , golang.org/**** , google.golang.org/**** , google/****. Am I wrong about $GOPATH ?
Here is the log of go build and go env:
Hope someone can help me on it......Gods
vagrant@vagrant-ubuntu-trusty-64:/opt/gopath$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/opt/gopath"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
vagrant@vagrant-ubuntu-trusty-64:/opt/gopath/src/github.com/openblockchain/obc-peer$ go build
# github.com/openblockchain/obc-peer/vendor/github.com/tecbot/gorocksdb
vendor/github.com/tecbot/gorocksdb/backup.go:4:24: fatal error: rocksdb/c.h: No such file or directory
// #include "rocksdb/c.h"
^
compilation terminated.
I followed here and it is done. https://github.com/openblockchain/obc-peer/issues/885
Configure RocksDB related deps
sudo apt-get install -y libsnappy-dev
sudo apt-get install -y zlib1g-dev
sudo apt-get install -y libbz2-dev
Run go install - CGO flags for RocksDB
cd $GOPATH/src/github.com/openblockchain/obc-peer
CGO_CFLAGS="-I/opt/rocksdb/include" CGO_LDFLAGS="-L/opt/rocksdb -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy" go install
Looks like you haven't installed rocksdb library
You need to set LD_LIBRARY_PATH using
export LD_LIBRARY_PATH=/opt/rocksdb
before executing
CGO_CFLAGS="-I/opt/rocksdb/include" CGO_LDFLAGS="-L/opt/rocksdb -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy" go install