Android NDK Renderscript 64 bit is not supported

310 views
Skip to first unread message

ran...@gmail.com

unread,
Apr 14, 2015, 9:49:27 AM4/14/15
to andro...@googlegroups.com
Hi dear NDK team,

I found that Renderscript 64 bit is not supported in the newest version android-ndk-r10d-xxx.
I got compiling error:

[arm64-v8a] Compile RS     : hellocomputendk <= mono.rs
cd /home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/jni/ &&  
/home/jerry/Tools/android-ndk-r10d/toolchains/renderscript/prebuilt/linux-x86_64/bin/llvm-rs-cc 
-o /home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/obj/local/arm64-v8a/objs/hellocomputendk/ 
-d /home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/obj/local/arm64-v8a/objs/hellocomputendk -MD -reflect-c++ 
-I/home/jerry/Tools/android-ndk-r10d/toolchains/renderscript/prebuilt/linux-x86_64/lib/clang/3.5/include 
-I/home/jerry/Tools/android-ndk-r10d/platforms/android-21/arch-arm64/usr/include/rs/scriptc 
-I/home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/jni -Wall -Werror -m64    mono.rs
/home/jerry/Tools/android-ndk-r10d/toolchains/renderscript/prebuilt/linux-x86_64/bin/bcc_compat -O3 
-o /home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/obj/local/arm64-v8a/objs/hellocomputendk/mono.bc.o -fPIC -shared 
-rt-path /home/jerry/Tools/android-ndk-r10d/platforms/android-21/arch-arm64/usr/lib/rs/libclcore.bc 
-mtriple arm-none-linux-gnueabi  /home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/obj/local/arm64-v8a/objs/hellocomputendk/mono.bc &&  
/home/jerry/Tools/android-ndk-r10d/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-g++ -shared -Wl,-soname,librs.mono.so 
-nostdlib /home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/obj/local/arm64-v8a/objs/hellocomputendk/mono.bc.o 
/home/jerry/Tools/android-ndk-r10d/platforms/android-21/arch-arm64/usr/lib/rs/libcompiler_rt.a 
-o /home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/libs/arm64-v8a/librs.mono.so 
-L /home/jerry/Tools/android-ndk-r10d/platforms/android-21/arch-arm64/usr/lib 
-L /home/jerry/Tools/android-ndk-r10d/platforms/android-21/arch-arm64/usr/lib/rs -no-canonical-prefixes -lRSSupport -lm -lc &&  
/home/jerry/Tools/android-ndk-r10d/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-g++ -MMD -MP -MF 
/home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/obj/local/arm64-v8a/objs/hellocomputendk/mono.o.d -fpic -ffunction-sections 
-funwind-tables -fstack-protector -no-canonical-prefixes -fno-exceptions -fno-rtti -O2 -g -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 
-I/home/jerry/Tools/android-ndk-r10d/platforms/android-21/arch-arm64/usr/include/rs/cpp 
-I/home/jerry/Tools/android-ndk-r10d/platforms/android-21/arch-arm64/usr/include/rs 
-I/home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/obj/local/arm64-v8a/objs/hellocomputendk 
-I/home/jerry/Tools/android-ndk-r10d/sources/cxx-stl/stlport/stlport 
-I/home/jerry/Tools/android-ndk-r10d/sources/cxx-stl//gabi++/include 
-I/home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/jni -DANDROID  -Wa,--noexecstack -Wformat -Werror=format-security  -frtti     
-I/home/jerry/Tools/android-ndk-r10d/platforms/android-21/arch-arm64/usr/include -fno-rtti 
-c  /home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/obj/local/arm64-v8a/objs/hellocomputendk/./ScriptC_mono.cpp 
-o /home/jerry/Tools/android-ndk-r10d/samples/HelloComputeNDK/obj/local/arm64-v8a/objs/hellocomputendk/mono.o 
bcc_compat: Not enough positional command line arguments specified!

I also found that the android-ndk-r10d/platforms/android-21/arch-arm64/usr/lib/rs/libRSSupport.so  and libRScpp_static.a are actually 32-bit libraries!

Then when will Renderscript 64-bit supported, will it be soon?  Thank you! :)

Stephen Hines

unread,
Apr 15, 2015, 11:09:17 AM4/15/15
to andro...@googlegroups.com
I see that you also filed https://code.google.com/p/android/issues/detail?id=165545, which we responded to. We don't pre-announce release dates, but hope to fix this in the future. We knew that 64-bit NDK bindings were not ready, and they were not supposed to ship in the NDK for L. We also don't have 64-bit compatibility libraries yet either (as mentioned on the actual bug). You should be able to use the 32-bit compatibility library and it will still work for 64-bit devices, albeit in 32-bit mode for now.

Steve
Reply all
Reply to author
Forward
0 new messages