Skip to content

Build failure when targeting aarch64-linux-android #1895

@arkuna23

Description

@arkuna23

build fails when targeting aarch64-linux-android using cross.

  • host: ArchLinux x86_64
  • target: aarch64-linux-android29
  • build tool: cross (as README instructions)
  • commands: docker build --build-arg CROSS_BASE_IMAGE=ghcr.io/cross-rs/aarch64-linux-android:0.2.5 -t cross-rusty_v8:aarch64-linux-android ., V8_FROM_SOURCE=1 cross build -vv --target aarch64-linux-android

build log:

...
  In file included from ../../../../third_party/libc++abi/src/src/cxa_guard.cpp:15:
  In file included from ../../../../third_party/libc++abi/src/src/cxa_guard_impl.h:48:
  In file included from ../../../../third_party/libc++/src/src/include/atomic_support.h:13:
  In file included from ../../../../third_party/libc++/src/include/memory:950:
  In file included from ../../../../third_party/libc++/src/include/__memory/inout_ptr.h:16:
  In file included from ../../../../third_party/libc++/src/include/__memory/shared_ptr.h:36:
  In file included from ../../../../third_party/libc++/src/include/__memory/unique_ptr.h:20:
  ../../../../third_party/libc++/src/include/__functional/hash.h:40:8: error: reference to unresolved using declaration
     40 |   std::memcpy(std::addressof(__r), __p, sizeof(__r));
        |        ^
  ../../../../third_party/libc++/src/include/cstring:82:1: note: using declaration annotated with 'using_if_exists' here
     82 | using ::memcpy _LIBCPP_USING_IF_EXISTS;
        | ^
  In file included from ../../../../third_party/libc++abi/src/src/cxa_guard.cpp:15:
  In file included from ../../../../third_party/libc++abi/src/src/cxa_guard_impl.h:61:
  In file included from ../../../../third_party/libc++/src/include/__thread/support.h:112:
  ../../../../third_party/libc++/src/include/__thread/support/pthread.h:18:10: error: 'pthread.h' file not found with <angled> include; use "quotes" instead
     18 | #include <pthread.h>
        |          ^
  ../../../../third_party/libc++/src/include/__thread/support/pthread.h:19:10: fatal error: 'sched.h' file not found
     19 | #include <sched.h>

...

  In file included from ../../../../third_party/libc++abi/src/src/cxa_default_handlers.cpp:12:
  In file included from ../../../../third_party/libc++/src/include/cstdlib:90:
  ../../../../third_party/libc++/src/include/stdlib.h:126:30: error: unknown type name 'ldiv_t'
    126 | inline _LIBCPP_HIDE_FROM_ABI ldiv_t div(long __x, long __y) _NOEXCEPT { return ::ldiv(__x, __y); }
        |                              ^
  ../../../../third_party/libc++/src/include/stdlib.h:126:82: error: no member named 'ldiv' in the global namespace; did you mean 'div'?
    126 | inline _LIBCPP_HIDE_FROM_ABI ldiv_t div(long __x, long __y) _NOEXCEPT { return ::ldiv(__x, __y); }
        |                                                                                  ^~~~
  ../../../../third_party/libc++/src/include/stdlib.h:126:37: note: 'div' declared here
    126 | inline _LIBCPP_HIDE_FROM_ABI ldiv_t div(long __x, long __y) _NOEXCEPT { return ::ldiv(__x, __y); }
        |                                     ^
  ../../../../third_party/libc++/src/include/stdlib.h:128:30: error: unknown type name 'lldiv_t'
    128 | inline _LIBCPP_HIDE_FROM_ABI lldiv_t div(long long __x, long long __y) _NOEXCEPT { return ::lldiv(__x, __y); }
        |                              ^
  ../../../../third_party/libc++/src/include/stdlib.h:128:93: error: no member named 'lldiv' in the global namespace
    128 | inline _LIBCPP_HIDE_FROM_ABI lldiv_t div(long long __x, long long __y) _NOEXCEPT { return ::lldiv(__x, __y); }
        |                                                                                             ^~~~~
  In file included from ../../../../third_party/libc++abi/src/src/cxa_default_handlers.cpp:13:
  In file included from ../../../../third_party/libc++/src/include/exception:84:
  ../../../../third_party/libc++/src/include/__exception/exception_ptr.h:33:61: error: unknown type name 'size_t'; did you mean 'std::size_t'?
     33 | _LIBCPP_OVERRIDABLE_FUNC_VIS void* __cxa_allocate_exception(size_t) throw();
        |                                                             ^
  ../../../../third_party/libc++/src/include/__cstddef/size_t.h:20:7: note: 'std::size_t' declared here
     20 | using size_t = decltype(sizeof(int));
        |       ^
  In file included from ../../../../third_party/libc++abi/src/src/cxa_default_handlers.cpp:20:
  In file included from ../../../../third_party/libc++/src/src/include/atomic_support.h:13:
  In file included from ../../../../third_party/libc++/src/include/memory:950:
  In file included from ../../../../third_party/libc++/src/include/__memory/inout_ptr.h:16:
  In file included from ../../../../third_party/libc++/src/include/__memory/shared_ptr.h:36:
  In file included from ../../../../third_party/libc++/src/include/__memory/unique_ptr.h:20:
  ../../../../third_party/libc++/src/include/__functional/hash.h:40:8: error: reference to unresolved using declaration
     40 |   std::memcpy(std::addressof(__r), __p, sizeof(__r));
        |        ^
  ../../../../third_party/libc++/src/include/cstring:82:1: note: using declaration annotated with 'using_if_exists' here
     82 | using ::memcpy _LIBCPP_USING_IF_EXISTS;
        | ^
  ../../../../third_party/libc++abi/src/src/cxa_default_handlers.cpp:98:74: error: reference to unresolved using declaration
     98 | static constexpr std::terminate_handler default_terminate_handler = std::abort;
        |                                                                          ^
  ../../../../third_party/libc++/src/include/cstdlib:126:1: note: using declaration annotated with 'using_if_exists' here
    126 | using ::abort _LIBCPP_USING_IF_EXISTS;
        | ^
  ../../../../third_party/libc++abi/src/src/cxa_default_handlers.cpp:98:79: error: expected '(' for function-style cast or type construction
     98 | static constexpr std::terminate_handler default_terminate_handler = std::abort;
        |                                                                     ~~~~~~~~~~^
  ../../../../third_party/libc++abi/src/src/cxa_default_handlers.cpp:106:34: error: variable does not have a constant initializer
    106 | constinit std::terminate_handler __cxa_terminate_handler = default_terminate_handler;
        |                                  ^                         ~~~~~~~~~~~~~~~~~~~~~~~~~
  ../../../../third_party/libc++abi/src/src/cxa_default_handlers.cpp:106:1: note: required by 'constinit' specifier here
    106 | constinit std::terminate_handler __cxa_terminate_handler = default_terminate_handler;
        | ^~~~~~~~~
  ../../../../third_party/libc++abi/src/src/cxa_default_handlers.cpp:106:60: note: initializer of 'default_terminate_handler' is unknown
    106 | constinit std::terminate_handler __cxa_terminate_handler = default_terminate_handler;
        |                                                            ^
  ../../../../third_party/libc++abi/src/src/cxa_default_handlers.cpp:98:41: note: declared here
     98 | static constexpr std::terminate_handler default_terminate_handler = std::abort;
        |                                         ^
  9 errors generated.
  ninja: build stopped: subcommand failed.
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions