2022-02-18 20:58 UTC+0100 ~ Daniel Borkmann <daniel@xxxxxxxxxxxxx> > On 2/18/22 5:33 PM, Quentin Monnet wrote: >> 2022-02-18 18:14 UTC+0200 ~ Nikolay Borisov <nborisov@xxxxxxxx> >>> On 18.02.22 г. 18:08 ч., Quentin Monnet wrote: >>>> 2022-02-17 14:04 UTC+0200 ~ Nikolay Borisov <nborisov@xxxxxxxx> >>>>> Sometime it can be useful to haul around a statically built version of >>>>> bpftool. Simply add support for passing STATIC=1 while building to >>>>> build >>>>> the tool statically. >>>>> >>>>> Signed-off-by: Nikolay Borisov <nborisov@xxxxxxxx> >>>>> --- >>>>> >>>>> Currently the bpftool being distributed as part of libbpf-tools under >>>>> bcc project >>>>> is dynamically built on a system using GLIBC 2.28, this makes the >>>>> tool unusable on >>>>> ubuntu 18.04 for example. Perhaps after this patch has landed the >>>>> bpftool in bcc >>>>> can be turned into a static binary. >>>>> >>>>> tools/bpf/bpftool/Makefile | 4 ++++ >>>>> 1 file changed, 4 insertions(+) >>>>> >>>>> diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile >>>>> index 83369f55df61..835621e215e4 100644 >>>>> --- a/tools/bpf/bpftool/Makefile >>>>> +++ b/tools/bpf/bpftool/Makefile >>>>> @@ -13,6 +13,10 @@ else >>>>> Q = @ >>>>> endif >>>>> >>>>> +ifeq ($(STATIC),1) >>>>> + CFLAGS += --static >>>>> +endif >>>>> + >>>>> BPF_DIR = $(srctree)/tools/lib/bpf >>>>> >>>>> ifneq ($(OUTPUT),) >>>> >>>> Why not just pass the flag on the command line? I don't think the >>>> Makefile overwrites it: >>>> >>>> $ CFLAGS=--static make >>> >>> Yeah, this also works, I initially thought that overriding a variable on >>> the command line would require having the override directive in the >>> makefile but apparently is not the case. I guess this patch can be >>> scratched. >> >> You'd need something if the Makefile was initialising the variable, with >> something like "CFLAGS = -O2" or "CFLAGS := -O2". But bpftool's Makefile >> always uses "CFLAGS += ...", meaning it appends to the current value, so >> you can pass whatever you want from the command line, as long as it >> doesn't get overwritten by another flag (for example, passing "-O0" >> would not work I think, since we add "-O2" in the Makefile). > > We don't have an in-tree readme, but the `CFLAGS=--static make` use case > could probably be documented in [0] at minimum. > > Cheers, > Daniel > > [0] https://github.com/libbpf/bpftool Makes sense, I'll do this. Thanks Daniel! Quentin