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 build seems to be broken after Rust 1.68 #1217

Closed
4 of 11 tasks
Nugine opened this issue Mar 12, 2023 · 1 comment
Closed
4 of 11 tasks

Android build seems to be broken after Rust 1.68 #1217

Nugine opened this issue Mar 12, 2023 · 1 comment
Labels
A-android Area: android targets

Comments

@Nugine
Copy link

Nugine commented Mar 12, 2023

Checklist

Describe your issue

My CI fails on the following targets after Rust 1.68 released.

  • aarch64-linux-android
  • i686-linux-android
  • x86_64-linux-android

CI log
Workflow file

I don't know how to fix it.

What target(s) are you cross-compiling for?

aarch64-linux-android, i686-linux-android, x86_64-linux-android

Which operating system is the host (e.g computer cross is on) running?

  • macOS
  • Windows
  • Linux / BSD
  • other OS (specify in description)

What architecture is the host?

  • x86_64 / AMD64
  • arm32
  • arm64 (including Mac M1)

What container engine is cross using?

  • docker
  • podman
  • other container engine (specify in description)

cross version

cross v0.2.5

Example

No response

Additional information / notes

No response

@Emilgardis
Copy link
Member

Emilgardis commented Mar 12, 2023

with 1.68, rust updated the minimal ndk. See https://blog.rust-lang.org/2023/01/09/android-ndk-update-r25.html

The current images for 0.2 use r21d, the images from main use r25b as of #1023

To fix this, but still using cross 0.2.5, please specify the image the android builds are using as

# Cross.toml -> https://github.com/cross-rs/cross/wiki/Configuration#config-file 
[target.aarch64-linux-android]
image = "ghcr.io/cross-rs/aarch64-linux-android:main"
[target.i686-linux-android]
image = "ghcr.io/cross-rs/i686-linux-android:main"
[target.x86_64-linux-android]
image = "ghcr.io/cross-rs/x86_64-linux-android:main"

or use a environment variable

CROSS_TARGET_AARCH64_LINUX_ANDROID_IMAGE="ghcr.io/cross-rs/aarch64-linux-android:main"
CROSS_TARGET_I686_LINUX_ANDROID_IMAGE="ghcr.io/cross-rs/i686-linux-android:main"
CROSS_TARGET_X86_64_LINUX_ANDROID_IMAGE="ghcr.io/cross-rs/x86_64-linux-android:main"

or simply use cross installed from main (we do not provide a compiled binary for that though)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-android Area: android targets
Projects
None yet
Development

No branches or pull requests

2 participants