google / seesaw

Seesaw v2 is a Linux Virtual Server (LVS) based load balancing platform.
Apache License 2.0
5.65k stars 511 forks source link

Unable to install seesaw on docker container CentOS Linux release 7.7.1908 (Core). #58

Open whater39 opened 5 years ago

whater39 commented 5 years ago

I'm running a docker container of CentOS Linux release 7.7.1908 (Core).

### Installing Go I can't install libnl-3-dev or libnl-genl-3-dev. I get the results of "no package available" I can install libnl successfully. Unsure if that gives me the prerequirements for this or not.

The other packages I'm able to install successfully: curl, git, gcc, make, libcap2-bin, protobuf-compiler, golang.

go env

GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/root/.cache/go-build" GOENV="/root/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/root/go" GOPRIVATE="" GOPROXY="direct" GOROOT="/usr/lib/golang" GOSUMDB="off" GOTMPDIR="" GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/root/go/src/github.com/google/seesaw/go.mod" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build090985420=/tmp/go-build -gno-record-gcc-switches"

I've setup Go successfully. go get -u golang.org/x/crypto/ssh go get -u github.com/dlintw/goconf go get -u github.com/golang/glog go get -u github.com/golang/protobuf/{proto,protoc-gen-go} go get -u github.com/miekg/dns go get -u github.com/kylelemons/godebug/pretty

I'm having issues when I try to install seesaw.

go get -u github.com/google/seesaw package github.com/google/seesaw: no Go files in /root/go/src/github.com/google/seesaw I get the results that it doesn't exist. Yet it does exist, when I immediately look at the folder contents of that directory. ls /root/go/src/github.com/google/seesaw CONTRIBUTING Makefile binaries common ecu etc go.sum healthcheck ncc pb test_tools LICENSE README.md cli doc engine go.mod ha ipvs netlink quagga watchdog

I'm unable to successfully run "make test", fails on netlink/netlink.h

make test go build ./... go: downloading github.com/dlintw/goconf v0.0.0-20120228082610-dcc070983490 go: downloading github.com/golang/protobuf v1.3.2 go: downloading github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b go: downloading github.com/miekg/dns v1.1.15 go: downloading golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 go: extracting github.com/dlintw/goconf v0.0.0-20120228082610-dcc070983490 go: extracting github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b go: extracting github.com/golang/protobuf v1.3.2 go: extracting github.com/miekg/dns v1.1.15 go: downloading golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 go: downloading golang.org/x/sys v0.0.0-20190412213103-97732733099d go: extracting golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 go: extracting golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 go: extracting golang.org/x/sys v0.0.0-20190412213103-97732733099d go: finding github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b go: finding github.com/dlintw/goconf v0.0.0-20120228082610-dcc070983490 go: finding golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 go: finding github.com/golang/protobuf v1.3.2 go: finding github.com/miekg/dns v1.1.15 go: finding golang.org/x/sys v0.0.0-20190412213103-97732733099d go: finding golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3

github.com/google/seesaw/netlink

netlink/cfuncs.go:22:29: fatal error: netlink/netlink.h: No such file or directory

include <netlink/netlink.h>

                         ^

compilation terminated. make: *** [all] Error 2

make install also fails for me, on the netlink/netlink.h again

make install go build ./...

github.com/google/seesaw/netlink

netlink/cfuncs.go:22:29: fatal error: netlink/netlink.h: No such file or directory

include <netlink/netlink.h>

                         ^

compilation terminated. make: *** [all] Error 2

When I run the default "seesaw_install.sh" script I get the following results.

install: cannot stat '/bin/seesaw_cli': No such file or directory install: cannot stat '/bin/seesaw_ecu': No such file or directory install: cannot stat '/bin/seesaw_engine': No such file or directory install: cannot stat '/bin/seesaw_ha': No such file or directory install: cannot stat '/bin/seesaw_healthcheck': No such file or directory install: cannot stat '/bin/seesaw_ncc': No such file or directory install: cannot stat '/bin/seesaw_watchdog': No such file or directory Failed to set capabilities on file `/usr/local/seesaw/seesaw_ha' (No such file or directory) usage: setcap [-q] [-v] (-r|-|) [ ... (-r|-|) ]

Note must be a regular (non-symlink) file. Failed to set capabilities on file `/usr/local/seesaw/seesaw_healthcheck' (No such file or directory) usage: setcap [-q] [-v] (-r|-|) [ ... (-r|-|) ]

Note must be a regular (non-symlink) file.