On Thu, Dec 19, 2019 at 7:26 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote: > > I got the following error when I tried to build perf on a read-only > filesystem with O=dir option. > > $ cd /some/where/ro/linux/tools/perf > $ make O=$HOME/build/perf > ... > CC /home/namhyung/build/perf/lib.o > /bin/sh: bpf_helper_defs.h: Read-only file system > make[3]: *** [Makefile:184: bpf_helper_defs.h] Error 1 > make[2]: *** [Makefile.perf:778: /home/namhyung/build/perf/libbpf.a] Error 2 > make[2]: *** Waiting for unfinished jobs.... > LD /home/namhyung/build/perf/libperf-in.o > AR /home/namhyung/build/perf/libperf.a > PERF_VERSION = 5.4.0 > make[1]: *** [Makefile.perf:225: sub-make] Error 2 > make: *** [Makefile:70: all] Error 2 > > It was becaused bpf_helper_defs.h was generated in current directory. > Move it to OUTPUT directory. > > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> > --- Overall nothing is obviously broken, except you need to fix up selftests/bpf's Makefile as well. BTW, this patch doesn't apply cleanly to latest bpf-next, so please rebase. Also subject prefix should look like [PATCH bpf-next] if it's meant to be applied against bpf-next. > tools/lib/bpf/Makefile | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > [...]