Netflix/titus-executor

[Q] Can not compile titus-executor

angelbarrera92 opened this issue · 10 comments

Hi!
Thank you for releasing the source code for titus. I really want to try it.

I'm following your published instructions and you're failing me in the build step.

Attached is the log output
log.txt

There seems to be some problem with some go dependency (govendor and go-junir?)

| tee checkstyle-result.xml
go get github.com/kardianos/govendor
bash: govendor: no se encontró la orden
go get github.com/jstemmer/go-junit-report
bash: govendor: no se encontró la orden
govendor test -v -parallel 32 +local \
| tee /dev/stderr \
| tee test-local.log \
| go-junit-report > test.xml
bash: govendor: no se encontró la orden
bash: govendor: no se encontró la orden
bash: línea 3: go-junit-report: no se encontró la orden
make: *** [Makefile:57: test-local] Error 127

Thanks

I was able to compile and build the executor by following these steps (caveats follow)

  1. Download and build the metalinter & govendor packages per the docs
  2. Create the GOPATH env var (i'm not 100% sure this is necessary)
  3. Download go-junit-report
go get -u github.com/jstemmer/go-junit-report
cd $GOPATH/github.com/jstemmer/go-junit-report
go build
  1. Compile by specifying the path to govendor & go-junit-report
PATH="$GOPATH/src/github.com/jstemmer/go-junit-report:$GOPATH/src/github.com/kardianos/govendor:$PATH" make builder all

I was unable to get all of the tests to pass as I was unable to run the command as sudo. However, after compiling the source I used the same trick to run make standalone-test and it ran - but fails intermittently.

Are you trying to build in a Docker container, or "natively"?

I try both alternatives. Both on máster branch :(

For now, can you use the package that's built here: https://circleci.com/gh/Netflix/titus-executor/420#artifacts/containers/0

Let me know if any of this helps:
#97

Hi @sargun. I'm still in trouble.

[angel@elitebook ~]$ echo $GOPATH
/home/angel/go
[angel@elitebook ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/local/go/bin:/home/angel/go/bin:/home/angel/.local/bin:/home/angel/bin:/usr/local/go/bin:/usr/local/go/bin:/home/angel/go/bin
[angel@elitebook ~]$ go get -u github.com/Netflix/titus-executor
package github.com/Netflix/titus-executor: no Go files in /home/angel/go/src/github.com/Netflix/titus-executor
[angel@elitebook ~]$ go get -u github.com/alecthomas/gometalinter
[angel@elitebook ~]$ cd /home/angel/go/src/github.com/Netflix/titus-executor
[angel@elitebook titus-executor]$ gometalinter --install 
Installing:
  deadcode
  dupl
  errcheck
  gas
  goconst
  gocyclo
  goimports
  golint
  gosimple
  gotype
  gotypex
  ineffassign
  interfacer
  lll
  maligned
  megacheck
  misspell
  nakedret
  safesql
  staticcheck
  structcheck
  unconvert
  unparam
  unused
  varcheck
[angel@elitebook titus-executor]$ go get -u github.com/kardianos/govendor
[angel@elitebook titus-executor]$ sudo -E PATH=${PATH} make builder all
...
about 5 minutes later...
...
coverage: 2.0% of statements in github.com/Netflix/...
ok  	github.com/Netflix/titus-executor/vpc/context	0.019s	coverage: 2.0% of statements in github.com/Netflix/...
?   	github.com/Netflix/titus-executor/vpc/ec2wrapper	[no test files]
?   	github.com/Netflix/titus-executor/vpc/gc	[no test files]
?   	github.com/Netflix/titus-executor/vpc/genconf	[no test files]
?   	github.com/Netflix/titus-executor/vpc/globalgc	[no test files]
?   	github.com/Netflix/titus-executor/vpc/setup	[no test files]
?   	github.com/Netflix/titus-executor/vpc/types	[no test files]
Error: exit status 1
make: *** [Makefile:61: test-local] Error 2

I dont know what i am doing wrong :(

new error :(

sudo -E PATH=${PATH} make build-standalone
git submodule update --init --recursive
hack/builder/titus-executor-builder.sh
~/go/src/github.com/Netflix/titus-executor ~/go/src/github.com/Netflix/titus-executor
Number of parallel builds: 3

-->     linux/amd64: github.com/Netflix/titus-executor/cmd/titus-launchguard-server
-->     linux/amd64: github.com/Netflix/titus-executor/cmd/titus-reaper
-->    darwin/amd64: github.com/Netflix/titus-executor/cmd/titus-vpc-tool
-->     linux/amd64: github.com/Netflix/titus-executor/cmd/titus-standalone
-->     linux/amd64: github.com/Netflix/titus-executor/cmd/titus-vpc-tool
-->    darwin/amd64: github.com/Netflix/titus-executor/cmd/titus-darion
-->    darwin/amd64: github.com/Netflix/titus-executor/cmd/titus-executor
-->    darwin/amd64: github.com/Netflix/titus-executor/cmd/titus-launchguard-server
-->    darwin/amd64: github.com/Netflix/titus-executor/cmd/titus-metadata-service
-->    darwin/amd64: github.com/Netflix/titus-executor/cmd/titus-reaper
-->    darwin/amd64: github.com/Netflix/titus-executor/cmd/titus-standalone
-->     linux/amd64: github.com/Netflix/titus-executor/cmd/titus-darion
-->     linux/amd64: github.com/Netflix/titus-executor/cmd/titus-metadata-service
-->     linux/amd64: github.com/Netflix/titus-executor/cmd/titus-executor
make[1]: se entra en el directorio '/home/angel/go/src/github.com/Netflix/titus-executor/mount'
gcc -D_GNU_SOURCE=1 -std=gnu11 -Wall -Werror -static -g -o titus-mount mount.c
/usr/bin/ld: no se puede encontrar -lc
collect2: error: ld devolvió el estado de salida 1
make[1]: *** [Makefile:2: titus-mount] Error 1
make[1]: se sale del directorio '/home/angel/go/src/github.com/Netflix/titus-executor/mount'
make: *** [Makefile:46: build-standalone] Error 2

@angelbarrera92
Do you want to close this issue, or add instructions on how you got this to build?