Package: libbpfcc Version: 0.11.0-1 Severity: minor File: /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 User: debian...@lists.debian.org Usertags: undefined-symbol adequate
libbcc_bpf.so needs to link with -lelf, see the output of adequate, symtree and objdump below. I detected this on amd64 but dpkg-buildpackage complains about it on the other architectures, see the getbuildlog output below. I filed this bug at severity minor since I'm not sure if there are any programs using the libbcc_bpf.so lib and if they already use the libelf-0.176.so symbols and link with the -lelf flag or not. This bug report brought to you by adequate: https://bonedaddy.net/pabs3/log/2013/02/23/inadequate-software/ $ lib=/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 $ link=/usr/lib/x86_64-linux-gnu/libelf-0.176.so $ pkg="$(dpkg-query --search "$lib" | sed s/:.*//)" $ src="$(grep-aptavail --no-field-names --show-field Source:Package --field Package --exact-match --pattern "$pkg" | sed 's/ .*//')" $ first="$(printf '%s' "$src" | head --bytes 1)" $ adequate "$pkg" libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => gelf_getshdr libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => elf_rawdata libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => elf_getscn libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => elf_begin libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => gelf_getrel libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => elf_memory libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => elf_end libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => elf_strptr libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => elf_nextscn libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => gelf_getehdr libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => elf_version libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => elf_getdata libbpfcc: undefined-symbol /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 => gelf_getsym $ man adequate | grep -A4 undefined-symbol undefined-symbol The symbol has not been found in the libraries linked with the binary. Either the binary either needs to be linked with an additional shared library, or the dependency on the shared library package that provides this symbol is too weak. References: Debian Policy §3.5, §8.6, §10.2. $ lddtree "$lib" libbcc_bpf.so.0.11.0 => /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 (interpreter => none) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 ld-linux-x86-64.so.2 => /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 $ symtree "$lib" /usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 libc.so.6 => socket,__xpg_basename,fopen,strncmp,perror,__isoc99_sscanf,epoll_wait,strncpy,time,__stack_chk_fail,unlink,mkdir,realloc,getpid,strdup,strtol,mmap,fgets,calloc,strlen,send,memset,dirname,strstr,rmdir,__errno_location,bind,read,getpagesize,getsockopt,dup3,poll,__fprintf_chk,recv,__isoc99_fscanf,memcpy,memcpy,fclose,setsockopt,malloc,stderr,ioctl,munmap,__snprintf_chk,__memset_chk,setrlimit,if_nametoindex,__fxstat,__getdelim,if_indextoname,fwrite,fread,epoll_ctl,statfs,__memcpy_chk,close,open,strchr,getsockname,epoll_create1,__vfprintf_chk,qsort,accept,__strcpy_chk,__cxa_finalize,syscall,__xpg_strerror_r,__xstat,getrlimit,memmove,uname,access,strcmp,strerror,write,snprintf,reallocarray,free WEAK => _ITM_deregisterTMCloneTable,__gmon_start__,_ITM_registerTMCloneTable UNRESOLVED => gelf_getshdr,elf_rawdata,elf_getscn,elf_begin,gelf_getrel,elf_memory,elf_end,elf_strptr,elf_nextscn,gelf_getehdr,elf_version,elf_getdata,gelf_getsym $ objdump -T "$link" | grep -E "($(symtree "$lib" | sed -n 's/ UNRESOLVED => //p' | tr , '|'))$" 0000000000003420 g DF .text 0000000000000045 ELFUTILS_1.0 elf_version 000000000000ad50 g DF .text 000000000000006e ELFUTILS_1.0 elf_rawdata 000000000000a840 g DF .text 00000000000000e4 ELFUTILS_1.0 gelf_getshdr 00000000000099b0 g DF .text 0000000000000098 ELFUTILS_1.0 elf_nextscn 0000000000007510 g DF .text 0000000000000013 ELFUTILS_1.0 gelf_getehdr 000000000000b680 g DF .text 0000000000000013 ELFUTILS_1.0 elf_getdata 0000000000005070 g DF .text 00000000000001f0 ELFUTILS_1.0 elf_begin 0000000000010a90 g DF .text 000000000000017c ELFUTILS_1.0 gelf_getrel 0000000000010600 g DF .text 00000000000000e3 ELFUTILS_1.0 gelf_getsym 000000000000be90 g DF .text 0000000000000035 ELFUTILS_1.0 elf_memory 000000000000aa70 g DF .text 00000000000002d3 ELFUTILS_1.0 elf_strptr 0000000000009880 g DF .text 0000000000000121 ELFUTILS_1.0 elf_getscn 0000000000005360 g DF .text 00000000000002ec ELFUTILS_1.0 elf_end $ chronic getbuildlog "$src" last $ grep 'dpkg-shlibdeps: warning: symbol .* used by .* found in none of the libraries' ./*.log ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol gelf_getrel used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol elf_begin used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol elf_strptr used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol gelf_getshdr used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol elf_getscn used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol elf_rawdata used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol elf_version used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol elf_nextscn used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol gelf_getsym used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_amd64.log:dpkg-shlibdeps: warning: symbol gelf_getehdr used by debian/libbpfcc/usr/lib/x86_64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol gelf_getsym used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol elf_end used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol elf_memory used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol elf_strptr used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol gelf_getshdr used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol gelf_getehdr used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol elf_rawdata used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol elf_version used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol elf_nextscn used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_arm64.log:dpkg-shlibdeps: warning: symbol elf_begin used by debian/libbpfcc/usr/lib/aarch64-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol elf_begin used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol elf_getscn used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol elf_strptr used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol elf_getdata used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol elf_end used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol gelf_getrel used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol elf_nextscn used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol gelf_getsym used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol elf_version used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries ./bpfcc_0.11.0-1_ppc64el.log:dpkg-shlibdeps: warning: symbol elf_rawdata used by debian/libbpfcc/usr/lib/powerpc64le-linux-gnu/libbcc_bpf.so.0.11.0 found in none of the libraries -- System Information: Debian Release: bullseye/sid APT prefers testing-debug APT policy: (900, 'testing-debug'), (900, 'testing'), (800, 'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.2.0-3-amd64 (SMP w/4 CPU cores) Kernel taint flags: TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8), LANGUAGE=en_AU:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages libbpfcc depends on: ii libc6 2.29-2 ii libelf1 0.176-1.1 ii libgcc1 1:9.2.1-8 ii libtinfo6 6.1+20190803-1 ii zlib1g 1:1.2.11.dfsg-1+b1 libbpfcc recommends no packages. libbpfcc suggests no packages. -- bye, pabs https://wiki.debian.org/PaulWise
signature.asc
Description: This is a digitally signed message part