Closed codeservice closed 5 years ago
I successfully recompile nme-dev libs with new hxcpp 3,3,49 and for some reason nme can't link it for arm64:
Curl_pretransfer': transfer.c:(.text.Curl_pretransfer+0x148): undefined reference to
bsd_signal'
/usr/local/lib/haxe/lib/nme-dev/5,5,1/lib/Android/libcurl_ssl-64.a(7e6d5ff8_transfer.obj): In function Curl_posttransfer': transfer.c:(.text.Curl_posttransfer+0x1c): undefined reference to
bsd_signal'
collect2: error: ld returned 1 exit status
Error: error running aarch64-linux-android-g++ -o../ndll/Android/libnme-64.so -frtti -nostdlib -std=c++11 -Wl,-shared,-Bsymbolic -Wl,--no-undefined -Wl,-z,noexecstack --sysroot=/Users/codeservice/android-ndk-r10d/platforms/android-21/arch-arm64 -L/Users/codeservice/android-ndk-r10d/platforms/android-21/arch-arm64/usr/lib @obj/android-64/all_objs /usr/local/lib/haxe/lib/nme-dev/5,5,1/lib/Android/libfreetype-64.a /usr/local/lib/haxe/lib/nme-dev/5,5,1/lib/Android/libjpeg-64.a /usr/local/lib/haxe/lib/nme-dev/5,5,1/lib/Android/libpng-64.a /usr/local/lib/haxe/lib/nme-dev/5,5,1/lib/Android/libvorbis-64.a /usr/local/lib/haxe/lib/nme-dev/5,5,1/lib/Android/libogg-64.a /usr/local/lib/haxe/lib/nme-dev/5,5,1/lib/Android/libcurl_ssl-64.a -ldl -landroid -lGLESv2 -lEGL -lz /Users/codeservice/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_static.a /Users/codeservice/android-ndk-r10d/platforms/android-21/arch-arm64/usr/lib/crtbegin_so.o /Users/codeservice/android-ndk-r10d/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/lib/gcc/aarch64-linux-android/4.9/libgcc.a /Users/codeservice/android-ndk-r10d/platforms/android-21/arch-arm64/usr/lib/libc.so /Users/codeservice/android-ndk-r10d/platforms/android-21/arch-arm64/usr/lib/libm.so -llog -ldl
Hey @codeservice , any update on this?
Hi, I am not actively developing on nme now. Also, because of low nme development activity and silence gaps in project communication my version of nme become very different to original and it will be really hard for me to merge it. I can look into my code and propose some changes when I have time. For this issue I have arm64 Android architecture fix. I’ll check what’s missing in current version...
Awesome! Thanks for the update. Feel free to ping me if you want me to help test things.
So, I checked how I compiled nme to arm64 and why its working with my local custom version of nme. I removed curl and make urlloader based on custom Http.hx file. This file now part of my local nme. We had discussion about removing curl here: https://github.com/haxenme/nme/issues/464
If this right way to go, I can submit my version of haxe Http to nme and update urlloader. I tried compile nme to arm64 long time ago, when nme was based on nme-dev, Maybe native ToolkitBuild can correctly compile curl to arm64 and we don't need to remove curl from nme. This, I don't know, because I am not using curl anymore.
I think http.hx is better than curl. One less thing to worry about, and we can put all effort into http, which hxcpp needs anyhow.
Ok, I am posting my changes to nme first. This also require few fixes in hxcpp part, few problems with sockets.
+1 on feature request
Curl was updated to new version and confirmed can be compiled to android arm64 bit.
Latest hxcpp support android 64 bit. I found libraries for 64 bit in android-21 NDK. NME build.xml does not include it for proper compilation. build.n automatically include this 64 bit target and always fail for NME. I excluded this compilation from hxccp as temporary solution. It will be great fix this issue.