Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android support #91

Open
nstepa opened this issue Sep 19, 2024 · 1 comment
Open

Android support #91

nstepa opened this issue Sep 19, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@nstepa
Copy link

nstepa commented Sep 19, 2024

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 <libelf.h>
        |          ^~~~~~~~~~
  In file included from bpf.c:37:
  libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory
     19 | #include <libelf.h>
        |          ^~~~~~~~~~
  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 <libelf.h>
        |          ^~~~~~~~~~
  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 <libelf.h>
        |          ^~~~~~~~~~
  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 <libelf.h>
        |          ^~~~~~~~~~
  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 <gelf.h>
        |          ^~~~~~~~
  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 <libelf.h>
        |          ^~~~~~~~~~
  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 <libelf.h>
        |          ^~~~~~~~~~
  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
Copy link
Contributor

@nstepa we are currently blocked by libbpf-sys adding Android support. I pinged the thread libbpf/libbpf-sys#90

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants