weaveworks / tcptracer-bpf

eBPF program using kprobes to trace TCP events without run-time compilation dependencies
Apache License 2.0
410 stars 61 forks source link

Build failure #55

Open ocket8888 opened 6 years ago

ocket8888 commented 6 years ago

Can't build on CentOS with lt kernel; uname -a:

Linux <hostname redacted> 4.9.70-1.el7.centos.x86_64 #1 SMP Thu Feb 1 15:34:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

I edited ebpf.mk to make sure it was searching for kernel-lt-devel packages instead of kernel-devel, but at any rate it isn't failing at the actual build step. Target build-docker-image completes successfully, but target build-ebpf-object fails immediately:

~/src/tcptracer-bpf/ $ sudo make
docker build -t weaveworks/tcptracer-bpf-builder -f Dockerfile .
Sending build context to Docker daemon 900.6 kB
Step 1 : FROM fedora:26
 ---> ce241ce855c8
Step 2 : ENV GOPATH /go
 ---> Using cache
 ---> 9048d0a29c52
Step 3 : RUN dnf update -y vim-minimal && dnf install -y llvm clang kernel-devel make binutils vim-common golang go-bindata ShellCheck git file
 ---> Using cache
 ---> 20f6bbc9bc89
Step 4 : RUN curl -fsSLo shfmt https://github.com/mvdan/sh/releases/download/v1.3.0/shfmt_v1.3.0_linux_amd64 && echo "b1925c2c405458811f0c227266402cf1868b4de529f114722c2e3a5af4ac7bb2  shfmt" | sha256sum -c && chmod +x shfmt && mv shfmt /usr/bin
 ---> Using cache
 ---> 442d9e249e8c
Step 5 : RUN go get -u github.com/fatih/hclfmt
 ---> Using cache
 ---> 57deca877f4c
Step 6 : RUN mkdir -p /src /go
 ---> Using cache
 ---> e3edf515fb4b
Successfully built e3edf515fb4b
docker run --rm -e DEBUG=1 \
        -e CIRCLE_BUILD_URL= \
        -v /home/bwilli415/src/tcptracer:/src:ro \
        -v /home/bwilli415/src/tcptracer/ebpf:/dist/ \
        --workdir=/src \
        weaveworks/tcptracer-bpf-builder \
        make -f ebpf.mk build
make: ebpf.mk: Permission denied
make: stat: ebpf.mk: Permission denied
make: *** No rule to make target 'ebpf.mk'.  Stop.
make: *** [build-ebpf-object] Error 2

At one point in trying to fix this, I became so irritated that I ran chmod 777 -R . from the source code directory, so I have no idea what permissions could possibly be violated on my system, and that makes me think there's something wrong with the docker image.