Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Cross compiling on android failed #1027

@hanwencheng

Description

@hanwencheng

System: Ubuntu 18.04 LTS on Windows WSL2

Following the guide here I could successfully compile Substrate node, but failing on compiling Kusama 0.7.3 (on master branch)

compiled with command

cargo build --target=aarch64-linux-android --release --bins --no-default-features

Get error

error[E0308]: mismatched types
   --> /home/hanwen/.cargo/registry/src/gitproxy.zycloud.tk-1ecc6299db9ec823/nix-0.10.0/src/sys/signal.rs:378:41
    |
378 |             SigHandler::SigAction(_) => (flags | SaFlags::SA_SIGINFO).bits(),
    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `u32`
    |
help: you can convert an `u32` to `i32` and panic if the converted value wouldn't fit
    |
378 |             SigHandler::SigAction(_) => (flags | SaFlags::SA_SIGINFO).bits().try_into().unwrap(),
    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> /home/hanwen/.cargo/registry/src/gitproxy.zycloud.tk-1ecc6299db9ec823/nix-0.10.0/src/sys/signal.rs:387:28
    |
387 |         SaFlags::from_bits(self.sigaction.sa_flags).unwrap()
    |                            ^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `i32`
    |
help: you can convert an `i32` to `u32` and panic if the converted value wouldn't fit
    |
387 |         SaFlags::from_bits(self.sigaction.sa_flags.try_into().unwrap()).unwrap()
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> /home/hanwen/.cargo/registry/src/gitproxy.zycloud.tk-1ecc6299db9ec823/nix-0.10.0/src/sys/socket/mod.rs:800:29
    |
800 |         libc::bind(fd, ptr, len as c_int)
    |                             ^^^^^^^^^^^^ expected `u32`, found `i32`
    |
help: you can convert an `i32` to `u32` and panic if the converted value wouldn't fit
    |
800 |         libc::bind(fd, ptr, (len as c_int).try_into().unwrap())
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

   Compiling mio-extras v2.0.6
   Compiling sha2 v0.8.1
   Compiling sha-1 v0.8.2
   Compiling sha3 v0.8.2
   Compiling hmac v0.7.1
   Compiling pbkdf2 v0.3.0
error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0308`.
error: could not compile `nix`.
warning: build failed, waiting for other jobs to finish...
error: build 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