rust-mobile / android-rs-glue Goto Github PK
View Code? Open in Web Editor NEWGlue between Rust and Android
License: Apache License 2.0
Glue between Rust and Android
License: Apache License 2.0
The app freezing or showing a black screen is not very useful and does not indicate what's wrong.
This should probably be done by overriding the default panic handler instead of using catch_panic
, so that the user can override this behavior if wanted.
How can I use a native library I've built for Android? More specifically, I'd like to build rust-sdl2
, however it seems cargo-apk
cannot find the built SDL2 libraries.
Difficulty level: easy if you're familiar with CLI libraries/medium otherwise.
Lots of issues right now with this crate are the fact that it has a clumsy CLI. Instead of parsing arguments manually, we should probably use an existing library. I like clap but am not against using another one (as long as it is mature enough).
--help
and the list of subcommands.cargo apk build
subcommand should mimic cargo build
.cargo apk install
subcommand should mimic cargo build
.cargo apk run
that mimics cargo run
and starts the application on the device (see this link).-s
flag to install
and run
that is passed to adb
, so that the user can choose which device to install to if there are multiple ones.The internals of this crate work by calling cargo rustc
. In order to mimic cargo, maybe the best thing to do is simply pass all arguments to cargo, except for --target
(which is handled internally by this crate).
Steps to reproduce:
fn main() { loop {} }
appOutput: Is slightly mangled (not sure why, probably another bug), but basically
assertion failed: (*ptr).is_none(): src/libstd/sys/common/args.rs:63
Cause:
The glue code calls the main
symbol, not the fn main
in the app. The main symbol runs the start
lang item, which by default is this. Some of the code called by that should only be called once per process (in particular the line we die at). Android starts new activities of an app that has already been opened in the same process.
After rust-lang/rust#33211 is merged.
Ideally we should detect that the user's Rustc is compatible with Android 9.
Because ndk-gdb needs the project directory and a manifest file (complete with android:debuggable="true"
set), APKs produced using android-rs-glue cannot be debugged very easily with ndk-gdb.
As far as I know, cargo apk links in the android glue C code into the project when being compiled, and can be accessed with the cargo_apk_injected_glue crate. However, if I wish to create a rust library to be linked into an APK at a later date, if I list the library as a dependency in the Cargo.toml file it won't have the cargo_apk_injected_glue crate available to it.
I have gotten around this currently by cloning the project and copying ffi.rs and lib.rs from cargo-apk/injected_glue, and creating a custom sub project. I can then access this by adding this subproject as a dependency.
Is there a way for this to be remedied, or am I doing stuff wrong?
Hi,
Is there a way to pass cargo_apk_xxx env variables to dependencies libs? Say I have a Project MyAndroidApp depends on another lib which needs to link to couple of shared libs (no source code, only .so). my understanding is that:
My question is, how to reuse the cc, ld settings already figured out by cargo-apk?
cargo-apk
and android-rs-glue
are great! they finally make Android dev fun! thanks!
I have recently discovered that it was possible to create your own Cargo subcommands.
Instead of using this trick with the linker, a cleaner solution could be for the user to call cargo android build
or cargo android-build
.
Having installed Rust via rustup and done the steps rdescribed in the README, I have created a simple cargo project with the main being:
extern crate android_glue;
fn main() {
android_glue::write_log("Hello");
loop {}
}
and the Cargo.toml:
[package]
name = "hello"
version = "0.1.0"
authors = ["aston"]
[dependencies]
android_glue = "0.2.0"
[[bin]]
name = "hello"
path = "src/hello.rs"
[package.metadata.android]
label = "hello"
The compilation with cargo apk
completes with no problems and moreover, installing it in the Emulator also succeeds.
However, when I try to run it, I get the error that the application has stopped and the log shows:
W/dalvikvm( 2296): threadid=1: thread exiting with uncaught exception (group=0xb374e678) E/AndroidRuntime( 2296): FATAL EXCEPTION: main
E/AndroidRuntime( 2296): java.lang.RuntimeException: Unable to start activity ComponentInfo{rust.hello/rust.hello.MainActivity}: java.lang.IllegalArgumentExcept
ion: Unable to find native library: main
E/AndroidRuntime( 2296): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
E/AndroidRuntime( 2296): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
E/AndroidRuntime( 2296): at android.app.ActivityThread.access$600(ActivityThread.java:141)
E/AndroidRuntime( 2296): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
E/AndroidRuntime( 2296): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 2296): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 2296): at android.app.ActivityThread.main(ActivityThread.java:5103)
E/AndroidRuntime( 2296): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2296): at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime( 2296): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
E/AndroidRuntime( 2296): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
E/AndroidRuntime( 2296): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 2296): Caused by: java.lang.IllegalArgumentException: Unable to find native library: main
E/AndroidRuntime( 2296): at android.app.NativeActivity.onCreate(NativeActivity.java:172)
E/AndroidRuntime( 2296): at android.app.Activity.performCreate(Activity.java:5133)
E/AndroidRuntime( 2296): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
E/AndroidRuntime( 2296): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
E/AndroidRuntime( 2296): ... 11 more
W/ActivityManager( 1201): Force finishing activity rust.hello/.MainActivity
I/WindowManager( 1201): Screenshot max retries 4 of Token{b3d3bfd0 ActivityRecord{b3b4ec18 u0 rust.hello/.MainActivity}} appWin=Window{b3bafde0 u0 Starting rust
.hello} drawState=1
W/WindowManager( 1201): Screenshot failure taking screenshot for (480x800) to layer 21015
W/ActivityManager( 1201): Activity pause timeout for ActivityRecord{b3b4ec18 u0 rust.hello/.MainActivity}
The AVD that I am using is for Android 4.3.1 (API level 18).
After seeing around in the generated files in hello/target/android-artifacts/
, I noticed that the generated class in android-artifacts/build/src/rust/hello/MainActivity.java
is quite empty:
package rust.hello;
public class MainActivity extends android.app.NativeActivity {
static {
}
}
Could the problem be that there is no definition like System.loadLibrary("hello");
or something like that?
adb logcat:
...
D/RustAndroidGlueStdouterr(27747): Entering android_main
D/RustAndroidGlueStdouterr(27747): Creating application thread
...
D/RustAndroidGlueStdouterr(27747): thread '<main>' panicked at 'The application was not initialized from android_main', /home/ozkriff/.cargo/registry/src/github.com-88ac128001ac3a9a/android_glue-0.1.3/src/lib.rs:490
...
src/main.rs:
#[macro_use]
extern crate glium;
use glium::{DisplayBuild, Surface};
fn main() {
std::env::set_var("RUST_BACKTRACE", "1");
let window_builder = glium::glutin::WindowBuilder::new();
let display = window_builder.build_glium().unwrap();
loop {
let mut target = display.draw();
target.clear_color(0.0, 0.0, 1.0, 1.0);
target.finish().unwrap();
for e in display.poll_events() {
if let glium::glutin::Event::Closed = e {
return;
}
}
}
}
Cargo.toml:
[package]
name = "nirgal"
version = "0.1.0"
authors = ["Andrey Lesnikov <[email protected]>"]
[dependencies]
glium = "*"
00e4791 added a new public function, which is actually used in glutin, but the version on crates.io doesn't have the function.
a fix version bump should suffice, as it's not a breaking change to add the function.
android-rs-glue compiles but it crashes at 'spawn(...)' or 'sleep(...)' :( .
It started after rust-lang/rust#19654 and rust-lang/rust#19338.
Is something not initialized? I don`t see any new init-functions in std::rt.
Hi,
I'm on Ubuntu 15.04 64 bit, and seem to be having some trouble at the point of building rust - I've already run ../rust/configure --target=arm-linux-androideabi --android-cross-path=/home/stu/devel/android-toolchain/toolchain-armv7-a
make fails thusly
$ ๎ฐmake
cfg: version 1.3.0-dev (26f0cd5de 2015-07-07)
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu arm-linux-androideabi
cfg: non-build target triples arm-linux-androideabi
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: host for arm-linux-androideabi is arm
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: os for arm-linux-androideabi is linux-androideabi
cfg: good valgrind for x86_64-unknown-linux-gnu is 1
cfg: good valgrind for arm-linux-androideabi is
cfg: using CC=gcc (CFG_CC)
cfg: enabling valgrind run-pass tests (CFG_ENABLE_VALGRIND_RPASS)
cfg: valgrind-rpass command set to "/usr/bin/valgrind" --error-exitcode=100 --fair-sched=try --quiet --soname-synonyms=somalloc=NONE --suppressions=/mnt/data/home/stu/projects/external/rust/src/etc/x86.supp --tool=memcheck --leak-check=full
cfg: no xelatex found, disabling LaTeX docs
cfg: no pandoc found, omitting PDF and EPUB docs
make: llvm
make[1]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Support'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Support'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/TableGen'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/TableGen'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/FileCheck'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/FileCheck'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/TableGen'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/TableGen'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/PerfectShuffle'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/PerfectShuffle'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/count'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/count'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/fpcmp'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/fpcmp'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/llvm-lit'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/llvm-lit'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/not'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/not'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/unittest'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/unittest/googletest'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/unittest/googletest'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/unittest/UnitTestMain'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/unittest/UnitTestMain'
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/unittest'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/yaml-bench'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils/yaml-bench'
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/utils'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/IR'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/IR'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/IR'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/IR'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/AsmParser'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/AsmParser'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Bitcode'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Bitcode/Reader'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Bitcode/Reader'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Bitcode/Writer'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Bitcode/Writer'
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Bitcode'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Analysis'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Analysis/IPA'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Analysis/IPA'
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Analysis'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Utils'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Utils'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Instrumentation'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Instrumentation'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Scalar'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Scalar'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/InstCombine'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/InstCombine'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/IPO'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/IPO'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Vectorize'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Vectorize'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Hello'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/Hello'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/ObjCARC'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms/ObjCARC'
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Transforms'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/CodeGen'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/CodeGen/SelectionDAG'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/CodeGen/SelectionDAG'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/CodeGen/AsmPrinter'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/CodeGen/AsmPrinter'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/CodeGen/MIRParser'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/CodeGen/MIRParser'
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/CodeGen'
make[3]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/AsmParser'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/AsmParser'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/Disassembler'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/Disassembler'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/InstPrinter'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/InstPrinter'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/TargetInfo'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/TargetInfo'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/MCTargetDesc'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC/MCTargetDesc'
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/PowerPC'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/InstPrinter'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/InstPrinter'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/Disassembler'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/Disassembler'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/AsmParser'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/AsmParser'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/TargetInfo'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/TargetInfo'
make[5]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/MCTargetDesc'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips/MCTargetDesc'
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/Mips'
make[4]: Entering directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/AArch64'
llvm[4]: Compiling AArch64A53Fix835769.cpp for Release build
In file included from /mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64.h:19:0,
from /mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:18:
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h: In function โunsigned int llvm::getWRegFromXReg(unsigned int)โ:
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:32:8: error: โAArch64โ has not been declared
case AArch64::X0: return AArch64::W0;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:32:28: error: โAArch64โ has not been declared
case AArch64::X0: return AArch64::W0;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:33:8: error: โAArch64โ has not been declared
case AArch64::X1: return AArch64::W1;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:33:28: error: โAArch64โ has not been declared
case AArch64::X1: return AArch64::W1;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:34:8: error: โAArch64โ has not been declared
case AArch64::X2: return AArch64::W2;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:34:28: error: โAArch64โ has not been declared
case AArch64::X2: return AArch64::W2;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:35:8: error: โAArch64โ has not been declared
case AArch64::X3: return AArch64::W3;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:35:28: error: โAArch64โ has not been declared
case AArch64::X3: return AArch64::W3;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:36:8: error: โAArch64โ has not been declared
case AArch64::X4: return AArch64::W4;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:36:28: error: โAArch64โ has not been declared
case AArch64::X4: return AArch64::W4;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:37:8: error: โAArch64โ has not been declared
case AArch64::X5: return AArch64::W5;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:37:28: error: โAArch64โ has not been declared
case AArch64::X5: return AArch64::W5;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:38:8: error: โAArch64โ has not been declared
case AArch64::X6: return AArch64::W6;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:38:28: error: โAArch64โ has not been declared
case AArch64::X6: return AArch64::W6;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:39:8: error: โAArch64โ has not been declared
case AArch64::X7: return AArch64::W7;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:39:28: error: โAArch64โ has not been declared
case AArch64::X7: return AArch64::W7;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:40:8: error: โAArch64โ has not been declared
case AArch64::X8: return AArch64::W8;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:40:28: error: โAArch64โ has not been declared
case AArch64::X8: return AArch64::W8;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:41:8: error: โAArch64โ has not been declared
case AArch64::X9: return AArch64::W9;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:41:28: error: โAArch64โ has not been declared
case AArch64::X9: return AArch64::W9;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:42:8: error: โAArch64โ has not been declared
case AArch64::X10: return AArch64::W10;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:42:29: error: โAArch64โ has not been declared
case AArch64::X10: return AArch64::W10;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:43:8: error: โAArch64โ has not been declared
case AArch64::X11: return AArch64::W11;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:43:29: error: โAArch64โ has not been declared
case AArch64::X11: return AArch64::W11;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:44:8: error: โAArch64โ has not been declared
case AArch64::X12: return AArch64::W12;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:44:29: error: โAArch64โ has not been declared
case AArch64::X12: return AArch64::W12;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:45:8: error: โAArch64โ has not been declared
case AArch64::X13: return AArch64::W13;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:45:29: error: โAArch64โ has not been declared
case AArch64::X13: return AArch64::W13;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:46:8: error: โAArch64โ has not been declared
case AArch64::X14: return AArch64::W14;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:46:29: error: โAArch64โ has not been declared
case AArch64::X14: return AArch64::W14;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:47:8: error: โAArch64โ has not been declared
case AArch64::X15: return AArch64::W15;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:47:29: error: โAArch64โ has not been declared
case AArch64::X15: return AArch64::W15;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:48:8: error: โAArch64โ has not been declared
case AArch64::X16: return AArch64::W16;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:48:29: error: โAArch64โ has not been declared
case AArch64::X16: return AArch64::W16;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:49:8: error: โAArch64โ has not been declared
case AArch64::X17: return AArch64::W17;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:49:29: error: โAArch64โ has not been declared
case AArch64::X17: return AArch64::W17;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:50:8: error: โAArch64โ has not been declared
case AArch64::X18: return AArch64::W18;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:50:29: error: โAArch64โ has not been declared
case AArch64::X18: return AArch64::W18;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:51:8: error: โAArch64โ has not been declared
case AArch64::X19: return AArch64::W19;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:51:29: error: โAArch64โ has not been declared
case AArch64::X19: return AArch64::W19;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:52:8: error: โAArch64โ has not been declared
case AArch64::X20: return AArch64::W20;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:52:29: error: โAArch64โ has not been declared
case AArch64::X20: return AArch64::W20;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:53:8: error: โAArch64โ has not been declared
case AArch64::X21: return AArch64::W21;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:53:29: error: โAArch64โ has not been declared
case AArch64::X21: return AArch64::W21;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:54:8: error: โAArch64โ has not been declared
case AArch64::X22: return AArch64::W22;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:54:29: error: โAArch64โ has not been declared
case AArch64::X22: return AArch64::W22;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:55:8: error: โAArch64โ has not been declared
case AArch64::X23: return AArch64::W23;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:55:29: error: โAArch64โ has not been declared
case AArch64::X23: return AArch64::W23;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:56:8: error: โAArch64โ has not been declared
case AArch64::X24: return AArch64::W24;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:56:29: error: โAArch64โ has not been declared
case AArch64::X24: return AArch64::W24;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:57:8: error: โAArch64โ has not been declared
case AArch64::X25: return AArch64::W25;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:57:29: error: โAArch64โ has not been declared
case AArch64::X25: return AArch64::W25;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:58:8: error: โAArch64โ has not been declared
case AArch64::X26: return AArch64::W26;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:58:29: error: โAArch64โ has not been declared
case AArch64::X26: return AArch64::W26;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:59:8: error: โAArch64โ has not been declared
case AArch64::X27: return AArch64::W27;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:59:29: error: โAArch64โ has not been declared
case AArch64::X27: return AArch64::W27;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:60:8: error: โAArch64โ has not been declared
case AArch64::X28: return AArch64::W28;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:60:29: error: โAArch64โ has not been declared
case AArch64::X28: return AArch64::W28;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:61:8: error: โAArch64โ has not been declared
case AArch64::FP: return AArch64::W29;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:61:28: error: โAArch64โ has not been declared
case AArch64::FP: return AArch64::W29;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:62:8: error: โAArch64โ has not been declared
case AArch64::LR: return AArch64::W30;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:62:28: error: โAArch64โ has not been declared
case AArch64::LR: return AArch64::W30;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:63:8: error: โAArch64โ has not been declared
case AArch64::SP: return AArch64::WSP;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:63:28: error: โAArch64โ has not been declared
case AArch64::SP: return AArch64::WSP;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:64:8: error: โAArch64โ has not been declared
case AArch64::XZR: return AArch64::WZR;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:64:29: error: โAArch64โ has not been declared
case AArch64::XZR: return AArch64::WZR;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h: In function โunsigned int llvm::getXRegFromWReg(unsigned int)โ:
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:72:8: error: โAArch64โ has not been declared
case AArch64::W0: return AArch64::X0;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:72:28: error: โAArch64โ has not been declared
case AArch64::W0: return AArch64::X0;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:73:8: error: โAArch64โ has not been declared
case AArch64::W1: return AArch64::X1;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:73:28: error: โAArch64โ has not been declared
case AArch64::W1: return AArch64::X1;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:74:8: error: โAArch64โ has not been declared
case AArch64::W2: return AArch64::X2;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:74:28: error: โAArch64โ has not been declared
case AArch64::W2: return AArch64::X2;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:75:8: error: โAArch64โ has not been declared
case AArch64::W3: return AArch64::X3;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:75:28: error: โAArch64โ has not been declared
case AArch64::W3: return AArch64::X3;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:76:8: error: โAArch64โ has not been declared
case AArch64::W4: return AArch64::X4;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:76:28: error: โAArch64โ has not been declared
case AArch64::W4: return AArch64::X4;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:77:8: error: โAArch64โ has not been declared
case AArch64::W5: return AArch64::X5;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:77:28: error: โAArch64โ has not been declared
case AArch64::W5: return AArch64::X5;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:78:8: error: โAArch64โ has not been declared
case AArch64::W6: return AArch64::X6;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:78:28: error: โAArch64โ has not been declared
case AArch64::W6: return AArch64::X6;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:79:8: error: โAArch64โ has not been declared
case AArch64::W7: return AArch64::X7;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:79:28: error: โAArch64โ has not been declared
case AArch64::W7: return AArch64::X7;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:80:8: error: โAArch64โ has not been declared
case AArch64::W8: return AArch64::X8;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:80:28: error: โAArch64โ has not been declared
case AArch64::W8: return AArch64::X8;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:81:8: error: โAArch64โ has not been declared
case AArch64::W9: return AArch64::X9;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:81:28: error: โAArch64โ has not been declared
case AArch64::W9: return AArch64::X9;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:82:8: error: โAArch64โ has not been declared
case AArch64::W10: return AArch64::X10;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:82:29: error: โAArch64โ has not been declared
case AArch64::W10: return AArch64::X10;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:83:8: error: โAArch64โ has not been declared
case AArch64::W11: return AArch64::X11;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:83:29: error: โAArch64โ has not been declared
case AArch64::W11: return AArch64::X11;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:84:8: error: โAArch64โ has not been declared
case AArch64::W12: return AArch64::X12;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:84:29: error: โAArch64โ has not been declared
case AArch64::W12: return AArch64::X12;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:85:8: error: โAArch64โ has not been declared
case AArch64::W13: return AArch64::X13;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:85:29: error: โAArch64โ has not been declared
case AArch64::W13: return AArch64::X13;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:86:8: error: โAArch64โ has not been declared
case AArch64::W14: return AArch64::X14;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:86:29: error: โAArch64โ has not been declared
case AArch64::W14: return AArch64::X14;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:87:8: error: โAArch64โ has not been declared
case AArch64::W15: return AArch64::X15;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:87:29: error: โAArch64โ has not been declared
case AArch64::W15: return AArch64::X15;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:88:8: error: โAArch64โ has not been declared
case AArch64::W16: return AArch64::X16;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:88:29: error: โAArch64โ has not been declared
case AArch64::W16: return AArch64::X16;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:89:8: error: โAArch64โ has not been declared
case AArch64::W17: return AArch64::X17;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:89:29: error: โAArch64โ has not been declared
case AArch64::W17: return AArch64::X17;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:90:8: error: โAArch64โ has not been declared
case AArch64::W18: return AArch64::X18;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:90:29: error: โAArch64โ has not been declared
case AArch64::W18: return AArch64::X18;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:91:8: error: โAArch64โ has not been declared
case AArch64::W19: return AArch64::X19;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:91:29: error: โAArch64โ has not been declared
case AArch64::W19: return AArch64::X19;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:92:8: error: โAArch64โ has not been declared
case AArch64::W20: return AArch64::X20;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:92:29: error: โAArch64โ has not been declared
case AArch64::W20: return AArch64::X20;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:93:8: error: โAArch64โ has not been declared
case AArch64::W21: return AArch64::X21;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:93:29: error: โAArch64โ has not been declared
case AArch64::W21: return AArch64::X21;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:94:8: error: โAArch64โ has not been declared
case AArch64::W22: return AArch64::X22;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:94:29: error: โAArch64โ has not been declared
case AArch64::W22: return AArch64::X22;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:95:8: error: โAArch64โ has not been declared
case AArch64::W23: return AArch64::X23;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:95:29: error: โAArch64โ has not been declared
case AArch64::W23: return AArch64::X23;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:96:8: error: โAArch64โ has not been declared
case AArch64::W24: return AArch64::X24;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:96:29: error: โAArch64โ has not been declared
case AArch64::W24: return AArch64::X24;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:97:8: error: โAArch64โ has not been declared
case AArch64::W25: return AArch64::X25;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:97:29: error: โAArch64โ has not been declared
case AArch64::W25: return AArch64::X25;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:98:8: error: โAArch64โ has not been declared
case AArch64::W26: return AArch64::X26;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:98:29: error: โAArch64โ has not been declared
case AArch64::W26: return AArch64::X26;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:99:8: error: โAArch64โ has not been declared
case AArch64::W27: return AArch64::X27;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:99:29: error: โAArch64โ has not been declared
case AArch64::W27: return AArch64::X27;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:100:8: error: โAArch64โ has not been declared
case AArch64::W28: return AArch64::X28;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:100:29: error: โAArch64โ has not been declared
case AArch64::W28: return AArch64::X28;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:101:8: error: โAArch64โ has not been declared
case AArch64::W29: return AArch64::FP;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:101:29: error: โAArch64โ has not been declared
case AArch64::W29: return AArch64::FP;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:102:8: error: โAArch64โ has not been declared
case AArch64::W30: return AArch64::LR;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:102:29: error: โAArch64โ has not been declared
case AArch64::W30: return AArch64::LR;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:103:8: error: โAArch64โ has not been declared
case AArch64::WSP: return AArch64::SP;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:103:29: error: โAArch64โ has not been declared
case AArch64::WSP: return AArch64::SP;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:104:8: error: โAArch64โ has not been declared
case AArch64::WZR: return AArch64::XZR;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:104:29: error: โAArch64โ has not been declared
case AArch64::WZR: return AArch64::XZR;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h: In function โunsigned int llvm::getBRegFromDReg(unsigned int)โ:
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:112:8: error: โAArch64โ has not been declared
case AArch64::D0: return AArch64::B0;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:112:29: error: โAArch64โ has not been declared
case AArch64::D0: return AArch64::B0;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:113:8: error: โAArch64โ has not been declared
case AArch64::D1: return AArch64::B1;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:113:29: error: โAArch64โ has not been declared
case AArch64::D1: return AArch64::B1;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:114:8: error: โAArch64โ has not been declared
case AArch64::D2: return AArch64::B2;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:114:29: error: โAArch64โ has not been declared
case AArch64::D2: return AArch64::B2;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:115:8: error: โAArch64โ has not been declared
case AArch64::D3: return AArch64::B3;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:115:29: error: โAArch64โ has not been declared
case AArch64::D3: return AArch64::B3;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:116:8: error: โAArch64โ has not been declared
case AArch64::D4: return AArch64::B4;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:116:29: error: โAArch64โ has not been declared
case AArch64::D4: return AArch64::B4;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:117:8: error: โAArch64โ has not been declared
case AArch64::D5: return AArch64::B5;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:117:29: error: โAArch64โ has not been declared
case AArch64::D5: return AArch64::B5;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:118:8: error: โAArch64โ has not been declared
case AArch64::D6: return AArch64::B6;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:118:29: error: โAArch64โ has not been declared
case AArch64::D6: return AArch64::B6;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:119:8: error: โAArch64โ has not been declared
case AArch64::D7: return AArch64::B7;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:119:29: error: โAArch64โ has not been declared
case AArch64::D7: return AArch64::B7;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:120:8: error: โAArch64โ has not been declared
case AArch64::D8: return AArch64::B8;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:120:29: error: โAArch64โ has not been declared
case AArch64::D8: return AArch64::B8;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:121:8: error: โAArch64โ has not been declared
case AArch64::D9: return AArch64::B9;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:121:29: error: โAArch64โ has not been declared
case AArch64::D9: return AArch64::B9;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:122:8: error: โAArch64โ has not been declared
case AArch64::D10: return AArch64::B10;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:122:29: error: โAArch64โ has not been declared
case AArch64::D10: return AArch64::B10;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:123:8: error: โAArch64โ has not been declared
case AArch64::D11: return AArch64::B11;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:123:29: error: โAArch64โ has not been declared
case AArch64::D11: return AArch64::B11;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:124:8: error: โAArch64โ has not been declared
case AArch64::D12: return AArch64::B12;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:124:29: error: โAArch64โ has not been declared
case AArch64::D12: return AArch64::B12;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:125:8: error: โAArch64โ has not been declared
case AArch64::D13: return AArch64::B13;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:125:29: error: โAArch64โ has not been declared
case AArch64::D13: return AArch64::B13;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:126:8: error: โAArch64โ has not been declared
case AArch64::D14: return AArch64::B14;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:126:29: error: โAArch64โ has not been declared
case AArch64::D14: return AArch64::B14;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:127:8: error: โAArch64โ has not been declared
case AArch64::D15: return AArch64::B15;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:127:29: error: โAArch64โ has not been declared
case AArch64::D15: return AArch64::B15;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:128:8: error: โAArch64โ has not been declared
case AArch64::D16: return AArch64::B16;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:128:29: error: โAArch64โ has not been declared
case AArch64::D16: return AArch64::B16;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:129:8: error: โAArch64โ has not been declared
case AArch64::D17: return AArch64::B17;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:129:29: error: โAArch64โ has not been declared
case AArch64::D17: return AArch64::B17;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:130:8: error: โAArch64โ has not been declared
case AArch64::D18: return AArch64::B18;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:130:29: error: โAArch64โ has not been declared
case AArch64::D18: return AArch64::B18;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:131:8: error: โAArch64โ has not been declared
case AArch64::D19: return AArch64::B19;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:131:29: error: โAArch64โ has not been declared
case AArch64::D19: return AArch64::B19;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:132:8: error: โAArch64โ has not been declared
case AArch64::D20: return AArch64::B20;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:132:29: error: โAArch64โ has not been declared
case AArch64::D20: return AArch64::B20;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:133:8: error: โAArch64โ has not been declared
case AArch64::D21: return AArch64::B21;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:133:29: error: โAArch64โ has not been declared
case AArch64::D21: return AArch64::B21;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:134:8: error: โAArch64โ has not been declared
case AArch64::D22: return AArch64::B22;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:134:29: error: โAArch64โ has not been declared
case AArch64::D22: return AArch64::B22;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:135:8: error: โAArch64โ has not been declared
case AArch64::D23: return AArch64::B23;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:135:29: error: โAArch64โ has not been declared
case AArch64::D23: return AArch64::B23;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:136:8: error: โAArch64โ has not been declared
case AArch64::D24: return AArch64::B24;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:136:29: error: โAArch64โ has not been declared
case AArch64::D24: return AArch64::B24;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:137:8: error: โAArch64โ has not been declared
case AArch64::D25: return AArch64::B25;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:137:29: error: โAArch64โ has not been declared
case AArch64::D25: return AArch64::B25;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:138:8: error: โAArch64โ has not been declared
case AArch64::D26: return AArch64::B26;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:138:29: error: โAArch64โ has not been declared
case AArch64::D26: return AArch64::B26;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:139:8: error: โAArch64โ has not been declared
case AArch64::D27: return AArch64::B27;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:139:29: error: โAArch64โ has not been declared
case AArch64::D27: return AArch64::B27;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:140:8: error: โAArch64โ has not been declared
case AArch64::D28: return AArch64::B28;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:140:29: error: โAArch64โ has not been declared
case AArch64::D28: return AArch64::B28;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:141:8: error: โAArch64โ has not been declared
case AArch64::D29: return AArch64::B29;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:141:29: error: โAArch64โ has not been declared
case AArch64::D29: return AArch64::B29;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:142:8: error: โAArch64โ has not been declared
case AArch64::D30: return AArch64::B30;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:142:29: error: โAArch64โ has not been declared
case AArch64::D30: return AArch64::B30;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:143:8: error: โAArch64โ has not been declared
case AArch64::D31: return AArch64::B31;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:143:29: error: โAArch64โ has not been declared
case AArch64::D31: return AArch64::B31;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h: In function โunsigned int llvm::getDRegFromBReg(unsigned int)โ:
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:152:8: error: โAArch64โ has not been declared
case AArch64::B0: return AArch64::D0;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:152:29: error: โAArch64โ has not been declared
case AArch64::B0: return AArch64::D0;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:153:8: error: โAArch64โ has not been declared
case AArch64::B1: return AArch64::D1;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:153:29: error: โAArch64โ has not been declared
case AArch64::B1: return AArch64::D1;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:154:8: error: โAArch64โ has not been declared
case AArch64::B2: return AArch64::D2;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:154:29: error: โAArch64โ has not been declared
case AArch64::B2: return AArch64::D2;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:155:8: error: โAArch64โ has not been declared
case AArch64::B3: return AArch64::D3;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:155:29: error: โAArch64โ has not been declared
case AArch64::B3: return AArch64::D3;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:156:8: error: โAArch64โ has not been declared
case AArch64::B4: return AArch64::D4;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:156:29: error: โAArch64โ has not been declared
case AArch64::B4: return AArch64::D4;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:157:8: error: โAArch64โ has not been declared
case AArch64::B5: return AArch64::D5;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:157:29: error: โAArch64โ has not been declared
case AArch64::B5: return AArch64::D5;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:158:8: error: โAArch64โ has not been declared
case AArch64::B6: return AArch64::D6;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:158:29: error: โAArch64โ has not been declared
case AArch64::B6: return AArch64::D6;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:159:8: error: โAArch64โ has not been declared
case AArch64::B7: return AArch64::D7;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:159:29: error: โAArch64โ has not been declared
case AArch64::B7: return AArch64::D7;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:160:8: error: โAArch64โ has not been declared
case AArch64::B8: return AArch64::D8;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:160:29: error: โAArch64โ has not been declared
case AArch64::B8: return AArch64::D8;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:161:8: error: โAArch64โ has not been declared
case AArch64::B9: return AArch64::D9;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:161:29: error: โAArch64โ has not been declared
case AArch64::B9: return AArch64::D9;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:162:8: error: โAArch64โ has not been declared
case AArch64::B10: return AArch64::D10;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:162:29: error: โAArch64โ has not been declared
case AArch64::B10: return AArch64::D10;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:163:8: error: โAArch64โ has not been declared
case AArch64::B11: return AArch64::D11;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:163:29: error: โAArch64โ has not been declared
case AArch64::B11: return AArch64::D11;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:164:8: error: โAArch64โ has not been declared
case AArch64::B12: return AArch64::D12;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:164:29: error: โAArch64โ has not been declared
case AArch64::B12: return AArch64::D12;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:165:8: error: โAArch64โ has not been declared
case AArch64::B13: return AArch64::D13;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:165:29: error: โAArch64โ has not been declared
case AArch64::B13: return AArch64::D13;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:166:8: error: โAArch64โ has not been declared
case AArch64::B14: return AArch64::D14;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:166:29: error: โAArch64โ has not been declared
case AArch64::B14: return AArch64::D14;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:167:8: error: โAArch64โ has not been declared
case AArch64::B15: return AArch64::D15;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:167:29: error: โAArch64โ has not been declared
case AArch64::B15: return AArch64::D15;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:168:8: error: โAArch64โ has not been declared
case AArch64::B16: return AArch64::D16;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:168:29: error: โAArch64โ has not been declared
case AArch64::B16: return AArch64::D16;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:169:8: error: โAArch64โ has not been declared
case AArch64::B17: return AArch64::D17;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:169:29: error: โAArch64โ has not been declared
case AArch64::B17: return AArch64::D17;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:170:8: error: โAArch64โ has not been declared
case AArch64::B18: return AArch64::D18;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:170:29: error: โAArch64โ has not been declared
case AArch64::B18: return AArch64::D18;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:171:8: error: โAArch64โ has not been declared
case AArch64::B19: return AArch64::D19;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:171:29: error: โAArch64โ has not been declared
case AArch64::B19: return AArch64::D19;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:172:8: error: โAArch64โ has not been declared
case AArch64::B20: return AArch64::D20;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:172:29: error: โAArch64โ has not been declared
case AArch64::B20: return AArch64::D20;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:173:8: error: โAArch64โ has not been declared
case AArch64::B21: return AArch64::D21;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:173:29: error: โAArch64โ has not been declared
case AArch64::B21: return AArch64::D21;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:174:8: error: โAArch64โ has not been declared
case AArch64::B22: return AArch64::D22;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:174:29: error: โAArch64โ has not been declared
case AArch64::B22: return AArch64::D22;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:175:8: error: โAArch64โ has not been declared
case AArch64::B23: return AArch64::D23;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:175:29: error: โAArch64โ has not been declared
case AArch64::B23: return AArch64::D23;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:176:8: error: โAArch64โ has not been declared
case AArch64::B24: return AArch64::D24;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:176:29: error: โAArch64โ has not been declared
case AArch64::B24: return AArch64::D24;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:177:8: error: โAArch64โ has not been declared
case AArch64::B25: return AArch64::D25;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:177:29: error: โAArch64โ has not been declared
case AArch64::B25: return AArch64::D25;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:178:8: error: โAArch64โ has not been declared
case AArch64::B26: return AArch64::D26;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:178:29: error: โAArch64โ has not been declared
case AArch64::B26: return AArch64::D26;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:179:8: error: โAArch64โ has not been declared
case AArch64::B27: return AArch64::D27;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:179:29: error: โAArch64โ has not been declared
case AArch64::B27: return AArch64::D27;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:180:8: error: โAArch64โ has not been declared
case AArch64::B28: return AArch64::D28;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:180:29: error: โAArch64โ has not been declared
case AArch64::B28: return AArch64::D28;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:181:8: error: โAArch64โ has not been declared
case AArch64::B29: return AArch64::D29;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:181:29: error: โAArch64โ has not been declared
case AArch64::B29: return AArch64::D29;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:182:8: error: โAArch64โ has not been declared
case AArch64::B30: return AArch64::D30;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:182:29: error: โAArch64โ has not been declared
case AArch64::B30: return AArch64::D30;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:183:8: error: โAArch64โ has not been declared
case AArch64::B31: return AArch64::D31;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h:183:29: error: โAArch64โ has not been declared
case AArch64::B31: return AArch64::D31;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp: In function โbool isFirstInstructionInSequence(llvm::MachineInstr*)โ:
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:44:8: error: โAArch64โ has not been declared
case AArch64::PRFMl:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:45:8: error: โAArch64โ has not been declared
case AArch64::PRFMroW:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:46:8: error: โAArch64โ has not been declared
case AArch64::PRFMroX:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:47:8: error: โAArch64โ has not been declared
case AArch64::PRFMui:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:48:8: error: โAArch64โ has not been declared
case AArch64::PRFUMi:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp: In function โbool isSecondInstructionInSequence(llvm::MachineInstr*)โ:
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:63:8: error: โAArch64โ has not been declared
case AArch64::MSUBXrrr:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:64:8: error: โAArch64โ has not been declared
case AArch64::MADDXrrr:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:65:8: error: โAArch64โ has not been declared
case AArch64::SMADDLrrr:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:66:8: error: โAArch64โ has not been declared
case AArch64::SMSUBLrrr:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:67:8: error: โAArch64โ has not been declared
case AArch64::UMADDLrrr:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:68:8: error: โAArch64โ has not been declared
case AArch64::UMSUBLrrr:
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:71:42: error: โAArch64โ has not been declared
return MI->getOperand(3).getReg() != AArch64::XZR;
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp: In function โvoid insertNopBeforeInstruction(llvm::MachineBasicBlock&, llvm::MachineInstr*, const llvm::TargetInstrInfo*)โ:
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:172:42: error: โAArch64โ has not been declared
BuildMI(I->getParent(), DL, TII->get(AArch64::HINT)).addImm(0);
^
/mnt/data/home/stu/projects/external/rust/src/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp:176:35: error: โAArch64โ has not been declared
BuildMI(MBB, MI, DL, TII->get(AArch64::HINT)).addImm(0);
^
/bin/rm: cannot remove โ/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/AArch64/Release/AArch64A53Fix835769.d.tmpโ: No such file or directory
/mnt/data/home/stu/projects/external/rust/src/llvm/Makefile.rules:1521: recipe for target '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/AArch64/Release/AArch64A53Fix835769.o' failed
make[4]: *** [/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/AArch64/Release/AArch64A53Fix835769.o] Error 1
make[4]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target/AArch64'
/mnt/data/home/stu/projects/external/rust/src/llvm/Makefile.rules:939: recipe for target 'AArch64/.makeall' failed
make[3]: *** [AArch64/.makeall] Error 2
make[3]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib/Target'
/mnt/data/home/stu/projects/external/rust/src/llvm/Makefile.rules:939: recipe for target 'Target/.makeall' failed
make[2]: *** [Target/.makeall] Error 2
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/lib'
/mnt/data/home/stu/projects/external/rust/src/llvm/Makefile.rules:880: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm'
/mnt/data/home/stu/projects/external/rust/mk/llvm.mk:89: recipe for target '/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/Release/bin/llvm-config' failed
make: *** [/mnt/data/home/stu/projects/external/rust-build/x86_64-unknown-linux-gnu/llvm/Release/bin/llvm-config] Error 2
With workspaces, there is a single target
folder for the artefacts, but cargo-apk keeps creating one locally instead.
$ adb logcat | grep RustAndroidGlueStdouterr
01-16 10:47:43.490 9610 9625 D RustAndroidGlueStdouterr: Entering android_main
01-16 10:47:43.490 9610 9625 D RustAndroidGlueStdouterr: Creating application thread
01-16 10:47:43.492 9610 9626 D RustAndroidGlueStdouterr: thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: NotSupported', ../src/libcore/result.rs:837
01-16 10:47:43.492 9610 9626 D RustAndroidGlueStdouterr: note: Run with `RUST_BACKTRACE=1` for a backtrace.
Is there a way to either get the backtrace, or run gdb
/lldb
remotely?
Greetings,
I'm stuck at the following error reported by cargo-apk
.
For context, the crate is /home/yoon/android-foo
, freshly created from cargo new --bin
, and my Android SDK is located in /usr/local/android-sdk
(I wanted to keep the log message as-is).
Cargo-Apk: Compiling android_native_app_glue.c
Cargo-Apk: Compiling injected-glue
Cargo-Apk: Compiling injected-glue
Cargo-Apk: Compiling glue_obj
Cargo-Apk: Compiling crate
Compiling android-foo v0.1.0 (file:///home/yoon/android-foo)
Finished dev [unoptimized + debuginfo] target(s) in 0.34 secs
Cargo-Apk: Invoking ant
Error executing ["ant", "debug"]
Status code 1
Stdout
--------------------
Buildfile: /home/yoon/android-foo/target/android-artifacts/build/build.xml
Stderr
--------------------
BUILD FAILED
/home/yoon/android-foo/target/android-artifacts/build/build.xml:6: Cannot find /usr/local/android-sdk/tools/ant/build.xml imported from /home/yoon/android-foo/target/android-artifacts/build/build.xml
Content of /home/yoon/android-foo/target/android-artifacts/build/build.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<project name="android-foo" default="help">
<property file="local.properties" />
<loadproperties srcFile="project.properties" />
<import file="custom_rules.xml" optional="true" />
<import file="${sdk.dir}/tools/ant/build.xml" />
</project>
There's no ant
directory under tools
in my Android SDK. I've searched for it elsewhere, and looking at the SDK manager and other settings, there's nothing related I could install.
At the risk of stating the obvious, I made sure to follow the instructions on the README.
I'm on Ubuntu, Android Studio 2.1.2, SDK tools 26.0.2, and Cargo 0.21.0-nightly.
Because of rust-lang/rust#20701
Dear tomaka,
When will you add support for armeabi-v7a architecture ?
We need it so much.
Thanks.
Good afternoon,
doing
[~/projets]$ cargo init --bin hellodroid_e
Created binary (application) project
[~/projets]$ cd hellodroid_e
[~/projets/hellodroid_e]$ cargo apk
I get the following compile error:
-compile:
[javac] Compiling 2 source files to /home/broe/projets/target/android-artifacts/build/bin/classes
[javac] error: Source option 1.5 is no longer supported. Use 1.6 or later.
[javac] error: Target option 1.5 is no longer supported. Use 1.6 or later.
NDK version: 14.1.3816874
SDK tools: 26.0.2
Android Studio: 2.3.2
Ubuntu: 16.04
Maybe the SDK/NDK and the included javac is too new and does not accept some of the glue code any more? (Not a java expert...)
(NOTE: I had to install manually some parts manually from tools_r25.2.5-linux
in order to get the built process to work.)
I followed the tutorial in the README, but when i run cargo apk
(note, no additional arguments)
I get:
error: extra arguments to `rustc` can only be passed to one target, consider filtering
the package by passing e.g. `--lib` or `--bin NAME` to specify a single target
Error executing ["cargo", "rustc", "--target", "arm-linux-androideabi", "--", "-C", "linker=~/android-artifacts/linker_exe", "--extern", "cargo_apk_injected_glue=~/target/android-artifacts/arm-linux-androideabi/libcargo_apk_injected_glue.rlib"]
Status code 101
my toml
[package]
name = "rustdl"
version = "0.1.0"
[[bin]]
name = "rustd"
path = "src/main.rs"
[package.metadata.android]
label = "Basic android-rs-glue example"
[dependencies.android_glue]
version = "^0.2"
my hello world
extern crate android_glue;
fn main() { println!("hello world"); }
More information
NDK_HOME=android-ndk-r13b
Can i haz help plz?
I tried the example and got:
thread '<main>' panicked at 'Can not create symlink to assets: Error { repr: Os { code: 17, message: "File exists" } }', ../src/libcore/result.rs:785
note: Run with `RUST_BACKTRACE=1` for a backtrace.
error:
I tested quite a few times, including manually deleting target
dir. it seems somehow an empty path at target/android-artifacts/assets
is created, and there is no target/android-artifacts/build/assets
.
I was using a Fairphone 2 running Android 5.1, Rust (installed using multirust) v1.8.0.
Commands (used in android-rs-glue/examples/basic
(5a8e33f)):
export PATH=$PATH:~/Downloads/apache-ant-1.9.7/bin:~/Downloads/icedtea-bin-3.0.0/bin:~/Downloads/android-sdk/platform-tools/
export ANDROID_SDK_HOME=~/Downloads/android-sdk/
export NDK_HOME=~/Downloads/android-ndk-r11c/
cargo apk
Which succeeded in creating an APK.
Library:
target/android-artifacts/build/libs/armeabi/libmain.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /system/bin/linker, not stripped
When then deployed to the phone using adb install -r target/android-artifacts/build/bin/rstest-debug.apk
, I get this in logcat:
Relevant part:
E/AndroidRuntime(18235): FATAL EXCEPTION: main
E/AndroidRuntime(18235): Process: rust.rstest, PID: 18235
E/AndroidRuntime(18235): java.lang.RuntimeException: Unable to start activity ComponentInfo{rust.rstest/rust.rstest.MainActivity}: java.lang.IllegalArgumentException: Unable to load native library: /data/app/rust.rstest-2/lib/arm/libmain.so
E/AndroidRuntime(18235): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
E/AndroidRuntime(18235): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
E/AndroidRuntime(18235): at android.app.ActivityThread.access$800(ActivityThread.java:151)
E/AndroidRuntime(18235): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
E/AndroidRuntime(18235): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(18235): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(18235): at android.app.ActivityThread.main(ActivityThread.java:5254)
E/AndroidRuntime(18235): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(18235): at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(18235): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/AndroidRuntime(18235): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
E/AndroidRuntime(18235): Caused by: java.lang.IllegalArgumentException: Unable to load native library: /data/app/rust.rstest-2/lib/arm/libmain.so
E/AndroidRuntime(18235): at android.app.NativeActivity.onCreate(NativeActivity.java:182)
E/AndroidRuntime(18235): at android.app.Activity.performCreate(Activity.java:5991)
E/AndroidRuntime(18235): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
E/AndroidRuntime(18235): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
E/AndroidRuntime(18235): ... 10 more
W/ActivityManager( 2962): Force finishing activity 1 rust.rstest/.MainActivity
When I try to compile the example program and run it on my phone it starts up and then crashes right away. Also, after it says success
it prints rm failed for -f, No such file or directory
. I'm not sure why a simple example program would crash - does it work on other machines?
Cargo-Apk: Compiling android_native_app_glue.c
Cargo-Apk: Compiling injected-glue
Cargo-Apk: Compiling injected-glue
Cargo-Apk: Compiling glue_obj
Cargo-Apk: Compiling crate
Compiling android_glue_icon_example v0.1.0 (file:///home/zoumi/myprojects/android_example)
Cargo-Apk: Invoking ant
Error executing ["ant", "debug"]
Status code 1
Stdout
--------------------
Buildfile: /home/zoumi/myprojects/android_example/target/android-artifacts/build/build.xml
-set-mode-check:
-set-debug-files:
-check-env:
[checkenv] Android SDK Tools Revision 24.4.1
[checkenv] Installed at /home/zoumi/programs/android-sdk-linux
-setup:
[echo] Project Name: android_glue_icon_example
[gettype] Project Type: Application
-set-debug-mode:
-debug-obfuscation-check:
-pre-build:
-build-setup:
[getbuildtools] Using latest Build Tools: 24.0.3
[echo] Resolving Build Target for android_glue_icon_example...
Stderr
--------------------
BUILD FAILED
/home/zoumi/programs/android-sdk-linux/tools/ant/build.xml:538: Unable to resolve project target 'android-18'
Total time: 5 seconds
BUILD FAILED
/home/zoumi/programs/android-sdk-linux/tools/ant/build.xml:538: Unable to resolve project target 'android-18'
I find out the "SDK Platform Android 4.3.1, API 18" is not installed.But 'SDK Platform Android 4.2.2, API 17' is installed. So,how can I compile with API 17 instead?
Is it possible to use Iron as backend behind the WebView?
Example alternative: https://github.com/rikusalminen/ndk-skeleton/blob/noglue/jni/main.c
The nvidia developer kit contains a glue that supports controllers.
Looks like android sdk now requires openjdk-8.
I had problems few days ago with android build because of it:
$ make android
cargo build --target arm-linux-androideabi --release -j 1
Compiling zoc v0.0.1 (file:///home/ozkriff/zoc/main)
error: linking with `/home/ozkriff/zoc/main/deps/android-rs-glue/apk-builder/target/debug/apk-builder` failed: exit code: 1
note: "/home/ozkriff/zoc/main/deps/android-rs-glue/apk-builder/target/debug/apk-builder" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-Wl,--allow-multiple-definition" "-L" "/usr/local/lib/rustlib/arm-linux-androideabi/lib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/zoc.0.o" "-o" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/zoc" "-Wl,--gc-sections" "-pie" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release" "-L" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps" "-L" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/build/miniz-sys-d03126dbc9ee0074/out" "-L" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/build/stb_tt-b704d4f9419eec86/out" "-L" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/build/stb_tt-b704d4f9419eec86/out" "-L" "/usr/local/lib/rustlib/arm-linux-androideabi/lib" "-Wl,-Bstatic" "-Wl,-Bdynamic" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libvisualizer-258e69740ecc8bac.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libcore-d046c1c0215ee931.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libcollision-cd3812bdb85c8ccf.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libglutin-a61a66b0e0f47240.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libzgl-87e2c1e7331c6e87.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libcommon-8a715008850e5692.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libandroid_glue-3ce65602f8f4be54.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libimage-f8c7ba4adad7f6fb.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libbyteorder-bff578a6925be5fe.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libenum_primitive-2dc0d7f5a40461af.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libzoc_gl-55af1af8d24f954a.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libtime-22c21fe32894ddad.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libpng-488d1ce4b6bdca94.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libinflate-2fe25b73bec31191.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libflate2-3d7b836197e354ce.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libminiz_sys-d03126dbc9ee0074.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libbitflags-646076c1f4684754.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libcgmath-1aaf8f45781c2a5a.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libnum-d3b232b2ec3de579.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/librand-6fab17fc670a2bc8.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/librustc_serialize-79a17eda1cd94e46.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libstb_tt-b704d4f9419eec86.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/liblibc-dd3420cb049117bb.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/libshared_library-1424319f6da054d2.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/liblibc-c1044b0a546bbfd6.rlib" "/home/ozkriff/zoc/main/target/arm-linux-androideabi/release/deps/liblazy_static-007034d2ad8108ce.rlib" "/usr/local/lib/rustlib/arm-linux-androideabi/lib/libstd-9026086f.rlib" "/usr/local/lib/rustlib/arm-linux-androideabi/lib/libcollections-9026086f.rlib" "/usr/local/lib/rustlib/arm-linux-androideabi/lib/liballoc-9026086f.rlib" "/usr/local/lib/rustlib/arm-linux-androideabi/lib/liballoc_jemalloc-9026086f.rlib" "/usr/local/lib/rustlib/arm-linux-androideabi/lib/liblibc-9026086f.rlib" "/usr/local/lib/rustlib/arm-linux-androideabi/lib/librand-9026086f.rlib" "/usr/local/lib/rustlib/arm-linux-androideabi/lib/librustc_unicode-9026086f.rlib" "/usr/local/lib/rustlib/arm-linux-androideabi/lib/libcore-9026086f.rlib" "-l" "android" "-l" "EGL" "-l" "GLESv2" "-l" "android" "-l" "log" "-l" "android" "-l" "stb_truetype" "-l" "c" "-l" "m" "-l" "dl" "-l" "log" "-l" "gcc" "-l" "gcc" "-l" "c" "-l" "m" "-l" "compiler-rt"
note:
BUILD FAILED
/home/ozkriff/rust/android-sdk-linux/tools/ant/build.xml:888: The following error occurred while executing this line:
/home/ozkriff/rust/android-sdk-linux/tools/ant/build.xml:890: The following error occurred while executing this line:
/home/ozkriff/rust/android-sdk-linux/tools/ant/build.xml:902: The following error occurred while executing this line:
/home/ozkriff/rust/android-sdk-linux/tools/ant/build.xml:283: null returned: 1
Total time: 1 second
Buildfile: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/build.xml
-set-mode-check:
-set-debug-files:
-check-env:
[checkenv] Android SDK Tools Revision 24.4.1
[checkenv] Installed at /home/ozkriff/rust/android-sdk-linux
-setup:
[echo] Project Name: rust-android
[gettype] Project Type: Application
-set-debug-mode:
-debug-obfuscation-check:
-pre-build:
-build-setup:
[getbuildtools] Using latest Build Tools: 24.0.0 rc1
[echo] Resolving Build Target for rust-android...
[gettarget] Project Target: Android 5.0.1
[gettarget] API level: 21
[echo] ----------
[echo] Creating output directories if needed...
[mkdir] Created dir: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/res
[mkdir] Created dir: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/bin
[mkdir] Created dir: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/bin/res
[mkdir] Created dir: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/bin/rsObj
[mkdir] Created dir: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/bin/rsLibs
[mkdir] Created dir: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/gen
[mkdir] Created dir: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/bin/classes
[mkdir] Created dir: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/bin/dexedLibs
[echo] ----------
[echo] Resolving Dependencies for rust-android...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency]
[dependency] ------------------
[echo] ----------
[echo] Building Libraries with 'debug'...
[subant] No sub-builds to iterate on
-code-gen:
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
[echo] Handling aidl files...
[aidl] No AIDL files to compile.
[echo] ----------
[echo] Handling RenderScript files...
[echo] ----------
[echo] Handling Resources...
[aapt] Generating resource IDs...
[echo] ----------
[echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class.
-pre-compile:
-compile:
[javac] Compiling 1 source file to /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/bin/classes
-post-compile:
-obfuscate:
-dex:
[dex] input: /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/bin/classes
[dex] Converting compiled files and external libraries into /tmp/android-rs-glue-rust-to-apk.GULXf5uNjRh6/bin/classes.dex...
[dx] Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
[dx] at java.lang.ClassLoader.defineClass1(Native Method)
[dx] at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
[dx] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[dx] at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
[dx] at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
[dx] at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
[dx] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[dx] at java.security.AccessController.doPrivileged(Native Method)
[dx] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[dx] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
[dx] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[dx] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[dx] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Error while executing program `ant` debug, or missing program.
error: aborting due to previous error
Could not compile `zoc`.
To learn more, run the command again with --verbose.
make: *** [android] Error 101
$
"Unsupported major.minor version 52.0" -
http://stackoverflow.com/questions/23249331/java-unsupported-major-minor-version-52-0
In the "examples" the example is very simple. Can I create a normal android application in Rust with this library? Activities, toasts and so on?
Just a random idea. I'm not sure if there are benefits or drawbacks.
Hi. Thanks a lot for simplifying the process. I'm facing below error when I run cargo apk
on examples/basic
I'm using an Ubuntu x86_64 and set $ANDROID_HOME and $NDK_HOME
Tried on both stable and nightly rust (using rustup)
Compiling android_glue_example v0.1.0 (file:///home/ravitejareddy/Desktop/android-rust/android-rs-glue/examples/basic)
Running `rustc src/basic.rs --crate-name example --crate-type bin -g -C linker=/home/ravitejareddy/Desktop/android-rust/android-rs-glue/examples/basic/target/android-artifacts/linker_exe --extern cargo_apk_injected_glue=/home/ravitejareddy/Desktop/android-rust/android-rs-glue/examples/basic/target/android-artifacts/arm-linux-androideabi/libcargo_apk_injected_glue.rlib --out-dir /home/ravitejareddy/Desktop/android-rust/android-rs-glue/examples/basic/target/arm-linux-androideabi/debug --emit=dep-info,link --target arm-linux-androideabi -L dependency=/home/ravitejareddy/Desktop/android-rust/android-rs-glue/examples/basic/target/arm-linux-androideabi/debug -L dependency=/home/ravitejareddy/Desktop/android-rust/android-rs-glue/examples/basic/target/arm-linux-androideabi/debug/deps --extern android_glue=/home/ravitejareddy/Desktop/android-rust/android-rs-glue/examples/basic/target/arm-linux-androideabi/debug/deps/libandroid_glue-6832d9644b62f367.rlib`
thread '<main>' panicked at 'called `Result::unwrap()` on an `Err` value: Error { repr: Os { code: 2, message: "No such file or directory" } }', ../src/libcore/result.rs:746
On https://github.com/tomaka/android-rs-glue/blob/master/apk-builder/src/main.rs#L282, the activity name is hardcoded instead of being provided by the application.
Why not simple println!
?
Hi @tomaka. Is it possible to create an android system service which can get requests from other apps/services on binder using this crate?
Seems it's using a bunch of old stuff that isn't in there anymore or moved.
Is any way to create one of this (Popup / Notification / toast) ?
I tried to run cargo apk --no-default-features
, but it compiled the default features anyways.
cargo-apk should also probably ship a --help
argument with some instructions.
It has been deprecated: announcement.
Is there any functionality you would require from Serde or another library before this would be possible?
Servo's APK should include the libmozjs.so library from the mozjs-sys package, but this library is no longer included in the APK since our latest Rust/Cargo upgrade. This is because this library is no longer saved to the native
directory that apk-builder searches in find_native_libs. I think this is related to rust-lang/cargo#1195 or other recent changes to Cargo.
I'm trying out a patch here to search the -L
paths for *.so
files instead, but this results in false positives, since these paths contain many shared libraries that don't need to be packaged (for example, packages that build both static and dynamic libraries, but we only use the static version): https://github.com/mbrubeck/android-rs-glue/tree/library-path
Alternately, we could change either Cargo or our custom build scripts to put libmozjs.so back in native
or some other special location that apk-builder can find.
rust-lang/rust#25350 changed the formatting of the linker arguments generated by rustc. Instead of -lfoo
it now generates -l foo
. apk-builder does not yet understand the new format, which breaks bundling of shared libraries from dependencies.
Looks like it's not possible right now.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.