Re: [PATCH bpf-next] bpf, vmtest: Build test_progs and friends as statically linked

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/11/23 10:15 PM, Daniel Xu wrote:
On Wed, May 31, 2023 at 09:53:57PM +0200, Daniel Borkmann wrote:
On 5/31/23 9:02 PM, Andrii Nakryiko wrote:
On Fri, May 26, 2023 at 3:47 PM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote:

Small fix for vmtest.sh that I've been carrying locally for quite a while
now in order to work around the following linker issue:

    # ./vmtest.sh -- ./test_progs -t lsm
    [...]
    + ip link set lo up
    + [ -x /etc/rcS.d/S50-startup ]
    + /etc/rcS.d/S50-startup
    ./test_progs -t lsm
    ./test_progs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./test_progs)
    ./test_progs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./test_progs)
    [    1.356497] ACPI: PM: Preparing to enter system sleep state S5
    [    1.358950] reboot: Power down
    [...]

With the specified TRUNNER_LDFLAGS out of vmtest to force static linking
runners like test_progs/test_maps/etc work just fine.

Should we make this a command line option to the vmtest.sh script
instead? I, for one, can't even successfully build on my machine with
this, probably due to missing some -static library package (though I
did install libzstd-static). I'm getting:

Interesting, in my case it's the other way round, but yeah that could work
as well.

I had the same zstd linker error. This hacky change fixes it:

```
diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
index 9706e7e5e698..c0d8809fd002 100644
--- a/tools/testing/selftests/bpf/Makefile
+++ b/tools/testing/selftests/bpf/Makefile
@@ -31,7 +31,7 @@ CFLAGS += -g -O0 -rdynamic -Wall -Werror $(GENFLAGS) $(SAN_CFLAGS)    \
           -I$(CURDIR) -I$(INCLUDE_DIR) -I$(GENDIR) -I$(LIBDIR)          \
           -I$(TOOLSINCDIR) -I$(APIDIR) -I$(OUTPUT)
  LDFLAGS += $(SAN_LDFLAGS)
-LDLIBS += -lelf -lz -lrt -lpthread
+LDLIBS += -lelf -lz -lrt -lpthread -lzstd

  # Silence some warnings when compiled with clang
  ifneq ($(LLVM),)
```

Would be good to get some variant of this patch in.

The above doesn't work for my env, getting same error with adding the -lzstd.
Btw, did the patch from above work for you?




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux