Skip to content

iroh resp. rocksdb does not compile on android #3570

@r10s

Description

@r10s

trying to build #3489 on android leads to different errors:

for "arm64-v8a" and "x86_64" (though printed as a "warning", compiling is aborted with an error):

  cargo:warning=rocksdb/env/io_posix.cc:1001:41: error: use of undeclared identifier 'POSIX_MADV_NORMAL'
  cargo:warning=      Madvise(mmapped_region_, length_, POSIX_MADV_NORMAL);
  cargo:warning=                                        ^
  cargo:warning=rocksdb/env/io_posix.cc:1004:41: error: use of undeclared identifier 'POSIX_MADV_RANDOM'
  cargo:warning=      Madvise(mmapped_region_, length_, POSIX_MADV_RANDOM);
  cargo:warning=                                        ^
  cargo:warning=rocksdb/env/io_posix.cc:1007:41: error: use of undeclared identifier 'POSIX_MADV_SEQUENTIAL'
  cargo:warning=      Madvise(mmapped_region_, length_, POSIX_MADV_SEQUENTIAL);
  cargo:warning=                                        ^
  cargo:warning=rocksdb/env/io_posix.cc:1010:41: error: use of undeclared identifier 'POSIX_MADV_WILLNEED'
  cargo:warning=      Madvise(mmapped_region_, length_, POSIX_MADV_WILLNEED);
  cargo:warning=                                        ^
  cargo:warning=rocksdb/env/io_posix.cc:1013:41: error: use of undeclared identifier 'POSIX_MADV_DONTNEED'
  cargo:warning=      Madvise(mmapped_region_, length_, POSIX_MADV_DONTNEED);
  cargo:warning=                                        ^
  cargo:warning=5 errors generated.
  exit status: 0
  exit status: 1

for "armv7-linux-androideabi (arm)" and "i686-linux-android (x86)"

  cargo:warning=In file included from rocksdb/cache/cache_key.cc:13:
  cargo:warning=In file included from rocksdb/util/hash.h:26:
  cargo:warning=rocksdb/util/fastrange.h:62:5: error: unknown type name '__uint128_t'
  cargo:warning=    __uint128_t wide = __uint128_t{range} * hash;
  cargo:warning=    ^
  cargo:warning=rocksdb/util/fastrange.h:62:24: error: use of undeclared identifier '__uint128_t'
  cargo:warning=    __uint128_t wide = __uint128_t{range} * hash;
  cargo:warning=                       ^
  cargo:warning=rocksdb/util/fastrange.h:62:35: error: expected ';' at end of declaration
  cargo:warning=    __uint128_t wide = __uint128_t{range} * hash;
  cargo:warning=                                  ^
  cargo:warning=                                  ;
  cargo:warning=3 errors generated.
  exit status: 1

not sure yet if x86-32bit builds on android. EDIT: it does not, i added these targets above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions