This repository was archived by the owner on Jul 3, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 116
This repository was archived by the owner on Jul 3, 2020. It is now read-only.
wrong linker used #198
Copy link
Copy link
Closed
Description
when following the instruction to compile a small hello world, linking fails with the following error
/tmp/android-rs-glue_example 1 cargo-apk --verbose build on w541 1 [23:57]
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/usr/share/java/groovy-all.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Compiling android_native_app_glue.c
Compiling injected-glue
Compiling glue_obj
Compiling crate
Compiling android-rs-glue_example v0.1.0 (/tmp/android-rs-glue_example)
Running `rustc --edition=2018 --crate-name android_rs_glue_example src/main.rs --color never --crate-type bin --emit=dep-info,link -C debuginfo=2 -C linker=/tmp/android-rs-glue_example/target/android-artifacts/linker_exe --extern cargo_apk_injected_glue=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/libcargo_apk_injected_glue.rlib -C link-arg=--cargo-apk-gcc -C link-arg=/home/sam/code/android-ndk-r18b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-gcc -C link-arg=--cargo-apk-gcc-sysroot -C link-arg=/home/sam/code/android-ndk-r18b/platforms/android-18/arch-arm64 -C link-arg=--cargo-apk-native-app-glue -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/android_native_app_glue.o -C link-arg=--cargo-apk-glue-obj -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/glue_obj.o -C link-arg=--cargo-apk-glue-lib -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/libcargo_apk_injected_glue.rlib -C link-arg=--cargo-apk-linker-output -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/app/lib/arm64-v8a/libmain.so -C link-arg=--cargo-apk-libs-path-output -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/lib_paths -C link-arg=--cargo-apk-libs-output -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/libs -C relocation-model=pic -C link-args=-no-pie -C link-args=-Wl,-Bsymbolic -C metadata=8fe9942fcafa106e -C extra-filename=-8fe9942fcafa106e --out-dir /tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps --target aarch64-linux-android -C incremental=/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/incremental -L dependency=/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps -L dependency=/tmp/android-rs-glue_example/target/debug/deps`
error: linking with `/tmp/android-rs-glue_example/target/android-artifacts/linker_exe` failed: exit code: 1
|
= note: "/tmp/android-rs-glue_example/target/android-artifacts/linker_exe" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-Wl,--allow-multiple-definition" "-L" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps/android_rs_glue_example-8fe9942fcafa106e.37i43j8jbrokw398.rcgu.o" "/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps/android_rs_glue_example-8fe9942fcafa106e.3zw5mel4fc8iqbo7.rcgu.o" "/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps/android_rs_glue_example-8fe9942fcafa106e.42qnlecgwcolhywt.rcgu.o" "/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps/android_rs_glue_example-8fe9942fcafa106e.4nzasu3yhbk5d6uo.rcgu.o" "/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps/android_rs_glue_example-8fe9942fcafa106e.4sxe9s4ytj2wzvi.rcgu.o" "/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps/android_rs_glue_example-8fe9942fcafa106e.s83i69i08sddqgh.rcgu.o" "-o" "/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps/android_rs_glue_example-8fe9942fcafa106e" "/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps/android_rs_glue_example-8fe9942fcafa106e.1ipi7iaquy9lrzy4.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps" "-L" "/tmp/android-rs-glue_example/target/debug/deps" "-L" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libstd-8b0397651fa43e12.rlib" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libpanic_unwind-94066e43ecb3de72.rlib" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libbacktrace_sys-52056b98a9eecffc.rlib" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libunwind-b6080bd51f35fd8e.rlib" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_demangle-2ba62f36ea929418.rlib" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/liblibc-dfc5d93b58836279.rlib" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/liballoc-c8360312964cbc69.rlib" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_std_workspace_core-9186388f6da52053.rlib" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcore-e457e4a9fa25d197.rlib" "-Wl,--end-group" "/home/sam/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcompiler_builtins-f6b4f136e67787e4.rlib" "-Wl,-Bdynamic" "-ldl" "-llog" "-lgcc" "-lc" "-lm" "-Wl,-Bsymbolic" "--cargo-apk-gcc" "/home/sam/code/android-ndk-r18b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-gcc" "--cargo-apk-gcc-sysroot" "/home/sam/code/android-ndk-r18b/platforms/android-18/arch-arm64" "--cargo-apk-native-app-glue" "/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/android_native_app_glue.o" "--cargo-apk-glue-obj" "/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/glue_obj.o" "--cargo-apk-glue-lib" "/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/libcargo_apk_injected_glue.rlib" "--cargo-apk-linker-output" "/tmp/android-rs-glue_example/target/android-artifacts/app/lib/arm64-v8a/libmain.so" "--cargo-apk-libs-path-output" "/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/lib_paths" "--cargo-apk-libs-output" "/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/libs"
= note: clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument]
/usr/bin/ld: unrecognised emulation mode: aarch64linux
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pep i386pe
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error while executing gcc
error: aborting due to previous error
error: Could not compile `android-rs-glue_example`.
Caused by:
process didn't exit successfully: `rustc --edition=2018 --crate-name android_rs_glue_example src/main.rs --color never --crate-type bin --emit=dep-info,link -C debuginfo=2 -C linker=/tmp/android-rs-glue_example/target/android-artifacts/linker_exe --extern cargo_apk_injected_glue=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/libcargo_apk_injected_glue.rlib -C link-arg=--cargo-apk-gcc -C link-arg=/home/sam/code/android-ndk-r18b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-gcc -C link-arg=--cargo-apk-gcc-sysroot -C link-arg=/home/sam/code/android-ndk-r18b/platforms/android-18/arch-arm64 -C link-arg=--cargo-apk-native-app-glue -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/android_native_app_glue.o -C link-arg=--cargo-apk-glue-obj -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/glue_obj.o -C link-arg=--cargo-apk-glue-lib -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/libcargo_apk_injected_glue.rlib -C link-arg=--cargo-apk-linker-output -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/app/lib/arm64-v8a/libmain.so -C link-arg=--cargo-apk-libs-path-output -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/lib_paths -C link-arg=--cargo-apk-libs-output -C link-arg=/tmp/android-rs-glue_example/target/android-artifacts/aarch64-linux-android/libs -C relocation-model=pic -C link-args=-no-pie -C link-args=-Wl,-Bsymbolic -C metadata=8fe9942fcafa106e -C extra-filename=-8fe9942fcafa106e --out-dir /tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps --target aarch64-linux-android -C incremental=/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/incremental -L dependency=/tmp/android-rs-glue_example/target/aarch64-linux-android/debug/deps -L dependency=/tmp/android-rs-glue_example/target/debug/deps` (exit code: 1)
This happens with both aarch64-linux-android
and arm-linux-androideabi
as the target platform.
For information, this happens when compiling on linux with NDK_HOME
set to the android-ndk-r18b
folder and ANDROID_HOME
set to the android-sdk-tools
folder.
Metadata
Metadata
Assignees
Labels
No labels