Messages in this thread | | | From | Dmitry Vyukov <> | Date | Tue, 8 Mar 2016 17:11:21 +0100 | Subject | Re: [RESEND PATCH 0/5] perf core: Support overwrite ring buffer |
| |
On Tue, Mar 8, 2016 at 4:54 PM, Ingo Molnar <mingo@kernel.org> wrote: > > * Dmitry Vyukov <dvyukov@google.com> wrote: > >> > so, according to the error message it wants a writable directory. Lets try it that >> > way: >> > >> > triton:~> mkdir go >> > triton:~> >> > triton:~> export GOPATH=/home/mingo/go/ >> > triton:~> go get github.com/google/syzkaller >> > can't load package: package github.com/google/syzkaller: no buildable Go source files in /home/mingo/go/src/github.com/google/syzkaller >> >> Yes, GOPATH needs to be set a writable dir. >> You can ignore "can't load package" error. The goal of that step is >> checkout syzkaller with all dependencies into correct dirs under >> GOPATH. That's already done by now. >> Or you can do (/... at the end): >> $ go get github.com/google/syzkaller/... >> That will checkout and build. >> Either way you can continue with the make step. > > Cool, the '/...' trick works. > > >> > looks like someone wants 'Go' to be used as little as possible! ;-) >> >> You probably did not observe recently a noobie trying to build a C >> project with sufficiently-complicate-build-system and a bunch of >> dependencies that needs to be on specific, unknown revisions, and that >> still does not compile with you compiler and does not link with your >> linker, and then of course target machine has a wrong glibc version :) > > Nah, old Linux tools very much suck, we know that and we suffer from it. > > But new tools should not suck! :-) > > So, going from the description at: > > http://lkml.kernel.org/r/CACT4Y+Ym0TZLkmRrM0ZGgLpu8kqS-YjoWTMrvaLz=tx2tnyO3w@mail.gmail.com > > I now have it built, and created $GOPATH/src/github.com/google/syzkaller/perf.cfg > with: > > > triton:~/go/src/github.com/google/syzkaller> cat perf.cfg > { > "http": "localhost:50000", > "workdir": "/home/mingo/go/src/github.com/google/syzkaller/workdir", > "syzkaller": "/home/mingo/go/src/github.com/google/syzkaller", > "vmlinux": "-", > "type": "local", > "count": 1, > "procs": 16, > "nocover": true, > "nodropprivs": true, > "enable_syscalls": [ > "getpid", > "perf_event_open", > "ioctl$PERF*", > "prctl$void", > "bpf$*", > "sched_yield" > ] > } > > Then I tried to do: > > $ bin/syz-manager -config perf.cfg > > in ~/go/src/github.com/google/syzkaller, but that doesn't work because there's no > 'bin' directory: > > triton:~/go/src/github.com/google/syzkaller> bin/syz-manager -config perf.cfg > bash: bin/syz-manager: No such file or directory > > So that should really read something like: > > cd ~/go > bin/syz-manager -config src/github.com/google/syzkaller/perf.cfg > > next roadblock: > > fomalhaut:~/go> bin/syz-manager -config src/github.com/google/syzkaller/perf.cfg > 2016/03/08 16:53:44 bad config syzkaller param: can't find bin/syz-fuzzer > > so how do I proceed from here?
You need to call make in syzkaller dir, it will create syzkaller/bin/syz-manager. I.e.
$ cd /home/mingo/go/src/github.com/google/syzkaller $ make $ bin/syz-manager -config perf.cfg
| |