Netflix / bpftop

bpftop provides a dynamic real-time view of running eBPF programs. It displays the average runtime, events per second, and estimated total CPU % for each program.
Apache License 2.0
2.27k stars 97 forks source link

Android support #91

Open nstepa opened 3 weeks ago

nstepa commented 3 weeks ago

Hey folks,

I'm trying to run bpftop for Android. However, cross build --target aarch64-linux-android complains about missing dependencies:

  Package libelf was not found in the pkg-config search path.
  Perhaps you should add the directory containing `libelf.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'libelf' found
  Package zlib was not found in the pkg-config search path.
  Perhaps you should add the directory containing `zlib.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'zlib' found
Full log ``` $ cross build --target aarch64-linux-android Compiling libbpf-sys v1.4.5+v1.4.5 Compiling serde_json v1.0.117 Compiling semver v1.0.23 Compiling camino v1.1.6 Compiling cargo-platform v0.1.8 Compiling paste v1.0.15 Compiling lazy_static v1.4.0 Compiling hashbrown v0.14.5 Compiling crc32fast v1.4.0 Compiling tempfile v3.10.1 Compiling signal-hook-mio v0.2.4 error: failed to run custom build command for `libbpf-sys v1.4.5+v1.4.5` Caused by: process didn't exit successfully: `/target/debug/build/libbpf-sys-6f15d7e7e0be20a0/build-script-build` (exit status: 101) --- stdout Using feature vendored-libbpf=true Using feature vendored-libelf=false Using feature vendored-zlib=false Using feature static-libbpf=true Using feature static-libelf=false Using feature static-zlib=false OPT_LEVEL = Some(0) TARGET = Some(x86_64-unknown-linux-gnu) OUT_DIR = Some(/target/debug/build/libbpf-sys-c47ac4da8a510944/out) HOST = Some(x86_64-unknown-linux-gnu) cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu CC_x86_64-unknown-linux-gnu = None cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu CC_x86_64_unknown_linux_gnu = None cargo:rerun-if-env-changed=HOST_CC HOST_CC = None cargo:rerun-if-env-changed=CC CC = None cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT RUSTC_WRAPPER = None cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS CRATE_CC_NO_DEFAULTS = None DEBUG = Some(true) CARGO_CFG_TARGET_FEATURE = Some(fxsr,sse,sse2) cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu CFLAGS_x86_64-unknown-linux-gnu = None cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu CFLAGS_x86_64_unknown_linux_gnu = None cargo:rerun-if-env-changed=HOST_CFLAGS HOST_CFLAGS = None cargo:rerun-if-env-changed=CFLAGS CFLAGS = None cargo:rerun-if-env-changed=LIBBPF_SYS_EXTRA_CFLAGS CC /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/bpf.o CC /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf.o CC /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/netlink.o CC /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf_errno.o CC /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/bpf_prog_linfo.o CC /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/nlattr.o CC /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/btf.o CC /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf_probes.o --- stderr Package libelf was not found in the pkg-config search path. Perhaps you should add the directory containing `libelf.pc' to the PKG_CONFIG_PATH environment variable No package 'libelf' found Package zlib was not found in the pkg-config search path. Perhaps you should add the directory containing `zlib.pc' to the PKG_CONFIG_PATH environment variable No package 'zlib' found In file included from libbpf_errno.c:15: libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory 19 | #include | ^~~~~~~~~~ In file included from bpf.c:37: libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory 19 | #include | ^~~~~~~~~~ compilation terminated. compilation terminated. In file included from bpf_prog_linfo.c:9: libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory 19 | #include | ^~~~~~~~~~ make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/bpf.o] Error 1 make: *** Waiting for unfinished jobs.... compilation terminated. make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf_errno.o] Error 1 make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/bpf_prog_linfo.o] Error 1 In file included from nlattr.c:14: libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory 19 | #include | ^~~~~~~~~~ compilation terminated. make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/nlattr.o] Error 1 In file included from libbpf_probes.c:19: libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory 19 | #include | ^~~~~~~~~~ compilation terminated. make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf_probes.o] Error 1 btf.c:18:10: fatal error: gelf.h: No such file or directory 18 | #include | ^~~~~~~~ compilation terminated. make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/btf.o] Error 1 In file included from netlink.c:19: libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory 19 | #include | ^~~~~~~~~~ compilation terminated. make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/netlink.o] Error 1 libbpf.c:46:10: fatal error: libelf.h: No such file or directory 46 | #include | ^~~~~~~~~~ compilation terminated. make: *** [Makefile:134: /target/debug/build/libbpf-sys-c47ac4da8a510944/out/obj/staticobjs/libbpf.o] Error 1 thread 'main' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/libbpf-sys-1.4.5+v1.4.5/build.rs:384:5: make failed note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace warning: build failed, waiting for other jobs to finish... error: failed to run custom build command for `libbpf-sys v1.4.5+v1.4.5` Caused by: process didn't exit successfully: `/target/debug/build/libbpf-sys-01a070735fb8823c/build-script-build` (exit status: 101) --- stdout Using feature vendored-libbpf=true Using feature vendored-libelf=false Using feature vendored-zlib=false Using feature static-libbpf=true Using feature static-libelf=false Using feature static-zlib=false OPT_LEVEL = Some(0) TARGET = Some(aarch64-linux-android) OUT_DIR = Some(/target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out) HOST = Some(x86_64-unknown-linux-gnu) cargo:rerun-if-env-changed=CC_aarch64-linux-android CC_aarch64-linux-android = None cargo:rerun-if-env-changed=CC_aarch64_linux_android CC_aarch64_linux_android = Some(aarch64-linux-android-gcc) RUSTC_WRAPPER = None cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS CRATE_CC_NO_DEFAULTS = None DEBUG = Some(true) cargo:rerun-if-env-changed=CFLAGS_aarch64-linux-android CFLAGS_aarch64-linux-android = None cargo:rerun-if-env-changed=CFLAGS_aarch64_linux_android CFLAGS_aarch64_linux_android = None cargo:rerun-if-env-changed=TARGET_CFLAGS TARGET_CFLAGS = None cargo:rerun-if-env-changed=CFLAGS CFLAGS = None cargo:rerun-if-env-changed=LIBBPF_SYS_EXTRA_CFLAGS CC /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/btf.o CC /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/bpf.o CC /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf_errno.o CC /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/netlink.o CC /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/nlattr.o CC /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf_probes.o CC /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf.o CC /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/bpf_prog_linfo.o --- stderr Package libelf was not found in the pkg-config search path. Perhaps you should add the directory containing `libelf.pc' to the PKG_CONFIG_PATH environment variable No package 'libelf' found Package zlib was not found in the pkg-config search path. Perhaps you should add the directory containing `zlib.pc' to the PKG_CONFIG_PATH environment variable No package 'zlib' found In file included from libbpf_probes.c:5: In file included from /android-ndk/bin/../sysroot/usr/include/fcntl.h:38: /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:8: error: field has incomplete type 'void' void __user * iov_base; ^ /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list void __user * iov_base; ^ In file included from In file included from netlink.cbpf.c::276: : In file included from In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h/android-ndk/bin/../sysroot/usr/include/unistd.h::3434: : In file included from In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h/android-ndk/bin/../sysroot/usr/include/sys/select.h::4040: : In file included from In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:/android-ndk/bin/../sysroot/usr/include/signal.h37:: 37In file included from : /android-ndk/bin/../sysroot/usr/include/bits/signal_types.hIn file included from :/android-ndk/bin/../sysroot/usr/include/bits/signal_types.h42:: 42In file included from : /android-ndk/bin/../sysroot/usr/include/linux/signal.hIn file included from :/android-ndk/bin/../sysroot/usr/include/linux/signal.h21:: In file included from 21/android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h: :In file included from 24/android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h: :In file included from 24/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h: :In file included from 81/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h: :81/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h: :/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h33::2833:: 28error:: errorexpected ';' after top level declarator: expected ';' after top level declarator typedef __signalfn_t __user * __sighandler_t;typedef __signalfn_t __user * __sighandler_t; ^ ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)')) /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)')) typedef __restorefn_t __user * __sigrestore_t; ^ typedef __restorefn_t __user * __sigrestore_t;/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h : ^ 33:22:/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h :note33: :22: previous definition is herenote : previous definition is here typedef __signalfn_t __user * __sighandler_t; ^ typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29:/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h error:: 35:expected ';' after top level declarator29 : error: expected ';' after top level declarator typedef __restorefn_t __user * __sigrestore_t;typedef __restorefn_t __user * __sigrestore_t; ^ ^ In file included from netlink.c:6: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t' __sighandler_t sa_handler; ^ In file included from bpf.c:27: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t' __sighandler_t sa_handler; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t' __sigrestore_t sa_restorer; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void' void __user * ss_sp; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list void __user * ss_sp; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t' __sigrestore_t sa_restorer; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void' void __user * ss_sp; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list void __user * ss_sp; ^ In file included from netlink.c:6: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void' void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void' void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list void __user * _addr; ^ In file included from bpf.c:27: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.hIn file included from /android-ndk/bin/../sysroot/usr/include/unistd.h::3475: :In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h14::40 : errorIn file included from /android-ndk/bin/../sysroot/usr/include/signal.h: :field has incomplete type 'void'37 : In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h void __user * _lower;: 25: ^8: error: field has incomplete type 'void' void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void' /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h: void __user * _upper;25 : ^14 : error: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.hexpected ';' at end of declaration list: 76:14: error: duplicate member '__user' void __user * sival_ptr;/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h : ^75 :14: note: previous declaration is here void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void' void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16:/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h error:: expected ';' at end of declaration list89 :10: error: field has incomplete type 'void' void __user * _addr; ^ void __user * _call_addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:16: error: expected ';' at end of declaration list void __user * _call_addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void' void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void' void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user' /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void' void __user * _call_addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:16: error: expected ';' at end of declaration list void __user * _call_addr; ^ In file included from netlink.c:6: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:56:9: error: unknown type name '__sighandler_t' typedef __sighandler_t sig_t; /* BSD compatibility. */ ^ In file included from bpf.c:27: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:56:9: error: unknown type name '__sighandler_t' typedef __sighandler_t sig_t; /* BSD compatibility. */ ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] fatal error: too many errors emitted, stopping now [-ferror-limit=] In file included from btf.c:9: In file included from /android-ndk/bin/../sysroot/usr/include/fcntl.h:38: /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:8: error: field has incomplete type 'void' void __user * iov_base; ^ /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list void __user * iov_base; ^ In file included from libbpf_probes.c:8: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)')) typedef __restorefn_t __user * __sigrestore_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator typedef __restorefn_t __user * __sigrestore_t; ^ In file included from libbpf.c:23: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)')) typedef __restorefn_t __user * __sigrestore_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator typedef __restorefn_t __user * __sigrestore_t; ^ In file included from libbpf_probes.c:8: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t' __sighandler_t sa_handler; ^ In file included from libbpf.c:23: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h: In file included from :/android-ndk/bin/../sysroot/usr/include/signal.h89::373: :In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.herror:: 42unknown type name '__sigrestore_t': In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86: __sigrestore_t sa_restorer;3 : ^ error: unknown type name '__sighandler_t' __sighandler_t sa_handler; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void' void __user * ss_sp; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list void __user * ss_sp; ^ In file included from bpf_prog_linfo.c:9: In file included from ./libbpf_internal.h:16: In file included from /android-ndk/bin/../sysroot/usr/include/fcntl.h:38: /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:8: error: field has incomplete type 'void' void __user * iov_base; ^ In file included from libbpf_probes.c:8: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void' void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list void __user * iov_base; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void' void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void' void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:76::14:89 :error3: :field has incomplete type 'void' error: unknown type name '__sigrestore_t' void __user * _upper; ^ __sigrestore_t sa_restorer; /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h ^: 76:14: error: duplicate member '__user' /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void' /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: void __user * ss_sp;expected ';' at end of declaration list ^ void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list void __user * ss_sp; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void' void __user * _call_addr; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] In file included from libbpf.c:23: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void' void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void' void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void' void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void' void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user' /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void' void __user * _call_addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:16: error: expected ';' at end of declaration list void __user * _call_addr; ^ In file included from libbpf.c:23: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:56:9: error: unknown type name '__sighandler_t' typedef __sighandler_t sig_t; /* BSD compatibility. */ ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] In file included from libbpf_errno.c:15: In file included from ./libbpf_internal.h:16: In file included from /android-ndk/bin/../sysroot/usr/include/fcntl.h:38: /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:8: error: field has incomplete type 'void' void __user * iov_base; ^ In file included from btf.c:10: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)')) typedef __restorefn_t __user * __sigrestore_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator typedef __restorefn_t __user * __sigrestore_t; ^ /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list void __user * iov_base; ^ In file included from btf.c:10: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t' __sighandler_t sa_handler; ^ In file included from In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:bpf_prog_linfo.cnlattr.c89:::93: 14:: In file included from In file included from error./libbpf_internal.h./libbpf_internal.h: ::1716unknown type name '__sigrestore_t': : In file included from In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h/android-ndk/bin/../sysroot/usr/include/fcntl.h::3438: : In file included from /android-ndk/bin/../sysroot/usr/include/linux/uio.h/android-ndk/bin/../sysroot/usr/include/sys/select.h::2440:: 8In file included from :/android-ndk/bin/../sysroot/usr/include/signal.h : __sigrestore_t sa_restorer;error37 : ^: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.hfield has incomplete type 'void': 42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h: void __user * iov_base;33 : ^28 : error: expected ';' after top level declarator/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h :94:8: error: field has incomplete type 'void' void __user * ss_sp;typedef __signalfn_t __user * __sighandler_t; ^ ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:/android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h14:: 35error:: 23expected ';' at end of declaration list: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)')) void __user * ss_sp; ^ typedef __restorefn_t __user * __sigrestore_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator typedef __restorefn_t __user * __sigrestore_t; ^ /android-ndk/bin/../sysroot/usr/include/linux/uio.h:24:14: error: expected ';' at end of declaration list void __user * iov_base; ^ In file included from btf.c:10: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void' void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void' void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void' void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void' void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user' /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void' void __user * _call_addr; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] In file included from bpf_prog_linfo.c:9: In file included from ./libbpf_internal.h:17: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t' __sighandler_t sa_handler; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t' __sigrestore_t sa_restorer; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void' void __user * ss_sp; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list void __user * ss_sp; ^ In file included from bpf_prog_linfo.c:9: In file included from ./libbpf_internal.h:17: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void' void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void' void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void' void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: error: expected ';' at end of declaration list void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void' void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user' /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void' void __user * _call_addr; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] In file included from libbpf_errno.c:15: In file included from ./libbpf_internal.h:17: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)')) typedef __restorefn_t __user * __sigrestore_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator typedef __restorefn_t __user * __sigrestore_t; ^ In file included from libbpf_errno.c:15: In file included from ./libbpf_internal.h:17: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t' In file included from nlattr.c:14: In file included from ./libbpf_internal.h:17: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from __sighandler_t sa_handler;/android-ndk/bin/../sysroot/usr/include/sys/select.h :40 ^: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:81: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:28: error: expected ';' after top level declarator typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:23: error: typedef redefinition with different types ('__restorefn_t' (aka 'void (void)') vs '__signalfn_t' (aka 'void (int)')) typedef __restorefn_t __user * __sigrestore_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:33:22: note: previous definition is here typedef __signalfn_t __user * __sighandler_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal-defs.h:35:29: error: expected ';' after top level declarator typedef __restorefn_t __user * __sigrestore_t; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t' __sigrestore_t sa_restorer; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void' void __user * ss_sp; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:14: error: expected ';' at end of declaration list void __user * ss_sp; ^ In file included from nlattr.c:14: In file included from ./libbpf_internal.h:17: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:21: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/signal.h:24: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:86:3: error: unknown type name '__sighandler_t' __sighandler_t sa_handler; ^ In file included from libbpf_errno.c:15: In file included from ./libbpf_internal.h:17: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:89:3: error: unknown type name '__sigrestore_t' __sigrestore_t sa_restorer;/android-ndk/bin/../sysroot/usr/include/sys/select.h ^ :/android-ndk/bin/../sysroot/usr/include/asm-generic/signal.h:94:8: error: field has incomplete type 'void' void __user * ss_sp; ^ 40: /android-ndk/bin/../sysroot/usr/include/asm-generic/signal.hIn file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void' : void __user * sival_ptr; ^ 94:14: error: expected ';' at end of declaration list void __user * ss_sp; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: errorIn file included from nlattr.c:14: In file included from ./libbpf_internal.h:17: In file included from /android-ndk/bin/../sysroot/usr/include/unistd.h:34: In file included from /android-ndk/bin/../sysroot/usr/include/sys/select.h:40: In file included from /android-ndk/bin/../sysroot/usr/include/signal.h:37: In file included from /android-ndk/bin/../sysroot/usr/include/bits/signal_types.h:42: In file included from /android-ndk/bin/../sysroot/usr/include/linux/signal.h:22: In file included from /android-ndk/bin/../sysroot/usr/include/aarch64-linux-android/asm/siginfo.h:19: /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:8: error: field has incomplete type 'void' void __user * sival_ptr;: expected ';' at end of declaration list ^ void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:25:14: error: expected ';' at end of declaration list void __user * sival_ptr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void' void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:10: error: field has incomplete type 'void' void __user * _addr;/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h : ^61 :16: error: expected ';' at end of declaration list void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:61:16: error: expected ';' at end of declaration list void __user * _addr; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error: field has incomplete type 'void' void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: error/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h: :field has incomplete type 'void' 75:20: error: expected ';' at end of declaration list void __user * _lower; ^ void __user * _lower; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void' /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:20: void __user * _upper; error ^: expected ';' at end of declaration list /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: void __user * _lower;duplicate member '__user' ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note: previous declaration is here /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: field has incomplete type 'void' void __user * _lower; ^ void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:14: error: duplicate member '__user' /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:75:14: note/android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h: :previous declaration is here76 :20: error: expected ';' at end of declaration list void __user * _lower; ^ void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:76:20: error: expected ';' at end of declaration list void __user * _upper; ^ /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void' void __user * _call_addr; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] /android-ndk/bin/../sysroot/usr/include/asm-generic/siginfo.h:89:10: error: field has incomplete type 'void' void __user * _call_addr; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. 20 errors generated. make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/bpf_prog_linfo.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf_errno.o] Error 1 20 errors generated. make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/bpf.o] Error 1 20 errors generated. 20 errors generated. make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/nlattr.o] Error 1 make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf_probes.o] Error 1 20 errors generated. 20 errors generated. make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/btf.o] Error 1 make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/netlink.o] Error 1 20 errors generated. make: *** [Makefile:134: /target/aarch64-linux-android/debug/build/libbpf-sys-93eecc92c6e48137/out/obj/staticobjs/libbpf.o] Error 1 thread 'main' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/libbpf-sys-1.4.5+v1.4.5/build.rs:384:5: make failed note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ```

Is it possible to build the software for Android?

jfernandez commented 3 weeks ago

@nstepa we are currently blocked by libbpf-sys adding Android support. I pinged the thread https://github.com/libbpf/libbpf-sys/pull/90