1

I'm trying to build physX library for android with NDK r19c.

My building system is working fine on NDK r15c, but it fails with r19c. I've tried with removing -gcc-toolchain and --sysroot flag from linker, but it does not work.

Target: x86_64-none-linux-android

InstalledDir: C:\Users\hanseul.shin\Desktop\EnginePremakeFix\tutorials\Engine\Tools\AndroidBuild\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\bin

Found candidate GCC installation: C:\Users\hanseul.shin\Desktop\EnginePremakeFix\tutorials\Engine\Tools\AndroidBuild\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\bin/../lib/gcc/i686-linux-android\4.9.x

Found candidate GCC installation: C:\Users\hanseul.shin\Desktop\EnginePremakeFix\tutorials\Engine\Tools\AndroidBuild\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\bin/../lib/gcc/x86_64-linux-android\4.9.x

Selected GCC installation: C:\Users\hanseul.shin\Desktop\EnginePremakeFix\tutorials\Engine\Tools\AndroidBuild\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\bin/../lib/gcc/x86_64-linux-android/4.9.x

 "C:\\android-ndk-r19c\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin/../lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin\\ld.gold.exe" --enable-new-dtags --eh-frame-hdr -m elf_x86_64 -shared -o 

"C:\\PhysX\\Bin\\Android\\Release\\x86_64\\libNativePhysX.so" crtbegin_so.o 

"-L..\\..\\Externals\\PhysX-3.4\\obj\\libs\\Android\\Release\\x86_64" 

"-LC:\\android-ndk-r19c\\toolchains\\llvm\\prebuilt\\windows-x86_64\\sysroot\\usr\\lib\\x86_64-linux-android\\21" 

"-LC:\\android-ndk-r19c\\toolchains\\llvm\\prebuilt\\windows-x86_64\\lib64\\clang\\8.0.2\\lib\\linux\\x86_64" 

"-LC:\\android-ndk-r19c\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin/../lib/gcc/x86_64-linux-android/4.9.x" 

"-LC:\\android-ndk-r19c\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin/../lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/lib/../lib64" 

"-LC:\\android-ndk-r19c\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin/../sysroot/usr/lib/x86_64-linux-android" 

"-LC:\\android-ndk-r19c\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin/../lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/lib" 

"-LC:\\android-ndk-r19c\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin/../sysroot/usr/lib" 

--start-group -l:libPhysX.a -l:libPhysXCooking.a -l:libPhysXExtensions.a -l:libPxFoundation.a -l:libPxPvdSDK.a -l:libLowLevel.a -l:libLowLevelAABB.a -l:libLowLevelCloth.a -l:libLowLevelDynamics.a -l:libLowLevelParticles.a -l:libPhysXCharacterKinematic.a -l:libPhysXCommon.a -l:libPhysXVehicle.a -l:libSceneQuery.a -l:libSimulationController.a -l:libPsFastXml.a -l:libPxTask.a --end-group 

-llog --gc-sections --build-id --no-undefined -z noexecstack -z relro -z now -llog -landroid --icf=all -O3 --compress-debug-sections=zlib --no-threads --relax --no-map-whole-files

"-rpath-link=C:\\android-ndk-r19c\\platforms\\21\\arch-x86_64\\usr\\lib64" -Bstatic -lstdc++ -Bdynamic -lm -lgcc -ldl -lc crtend_so.o

C:\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\bin/../lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin\ld.gold.exe: error: cannot open crtbegin_so.o: No such file or directory

C:\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\bin/../lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin\ld.gold.exe: error: cannot open crtend_so.o: No such file or directory

bionic/libc/bionic/__cxa_pure_virtual.cpp:20: error: undefined reference to 'async_safe_fatal_no_abort'
bionic/libc/bionic/new.cpp:29: error: undefined reference to 'async_safe_fatal_no_abort'
bionic/libc/bionic/new.cpp:37: error: undefined reference to 'async_safe_fatal_no_abort'

clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)

4> Failed to build DLL (error 1) 'C:\PhysX\Bin\Android\Release\x86_64\libNativePhysX.so'

I've been trying to solve this issue since 2 weeks but could not find any answer.

신한슬
  • 189
  • 12
  • See https://stackoverflow.com/a/54821767/8034839 for tool chain changes – shizhen Jul 30 '19 at 02:02
  • Here is about how to move from gcc to clang https://android.googlesource.com/platform/ndk.git/+/master/docs/ClangMigration.md – shizhen Jul 30 '19 at 02:04
  • [PhysX is not ready to build in NDK r.20 yet](https://github.com/NVIDIAGameWorks/PhysX/issues/155#issuecomment-513173639). And not r.19. – Alex Cohn Jul 30 '19 at 08:21

0 Answers0