Skip to content
New issue

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

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

Already on GitHub? # 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

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

No branches or pull requests

2 participants