Skip to content

Conversation

@radekdoulik
Copy link
Member

  • it looks like we cannot crosscompile to 32 bits with 64 bits tools,
    so we need to build 32 bits crosscompilers for 32 bits targets

  • otherwise we end up with errors like this one:

    /Users/builder/data/lanes/4285/2021a5bd/source/monodroid/out/bin/cross-arm --aot=outfile=/Users/builder/data/lanes/4285/2021a5bd/source/monodroid/tests/runtime/obj/Release/aot/armeabi-v7a/libaot-Mono.Android.dll.so,asmwriter,mtriple=armv7-linux-gnueabi,tool-prefix=/Users/builder/android-sdk-tool/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-,ld-flags=,llvm-path=/Users/builder/data/lanes/4285/2021a5bd/source/monodroid/out/bin,temp-path=/Users/builder/data/lanes/4285/2021a5bd/source/monodroid/tests/runtime/obj/Release/aot/armeabi-v7a/Mono.Android.dll "/Users/builder/data/lanes/4285/2021a5bd/source/monodroid/tests/runtime/obj/Release/android/assets/shrunk/Mono.Android.dll"
    [aot-compiler stderr] Can't cross-compile on 64-bit platforms to 32-bit architecture.
    [aot-compiler stderr] Can't cross-compile on 64-bit platforms to 32-bit architecture.
    [aot-compiler stderr] Can't cross-compile on 64-bit platforms to 32-bit architecture.

  • increase bundle version to force mono runtimes rebuild by jenkins

 - it looks like we cannot crosscompile to 32 bits with 64 bits tools,
   so we need to build 32 bits crosscompilers for 32 bits targets

 - otherwise we end up with errors like this one:

    /Users/builder/data/lanes/4285/2021a5bd/source/monodroid/out/bin/cross-arm --aot=outfile=/Users/builder/data/lanes/4285/2021a5bd/source/monodroid/tests/runtime/obj/Release/aot/armeabi-v7a/libaot-Mono.Android.dll.so,asmwriter,mtriple=armv7-linux-gnueabi,tool-prefix=/Users/builder/android-sdk-tool/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-,ld-flags=,llvm-path=/Users/builder/data/lanes/4285/2021a5bd/source/monodroid/out/bin,temp-path=/Users/builder/data/lanes/4285/2021a5bd/source/monodroid/tests/runtime/obj/Release/aot/armeabi-v7a/Mono.Android.dll "/Users/builder/data/lanes/4285/2021a5bd/source/monodroid/tests/runtime/obj/Release/android/assets/shrunk/Mono.Android.dll"
    		[aot-compiler stderr] Can't cross-compile on 64-bit platforms to 32-bit architecture.
    		[aot-compiler stderr] Can't cross-compile on 64-bit platforms to 32-bit architecture.
    		[aot-compiler stderr] Can't cross-compile on 64-bit platforms to 32-bit architecture.

 - increase bundle version to force mono runtimes rebuild by jenkins
@jonpryor
Copy link
Contributor

jonpryor commented Feb 2, 2017

This PR raises an interesting "corner case": it suggests that you need a 64-bit platform to cross-compile to 64-bit architectures. Meaning you can't be running 32-bit Windows and AOT compile for 64-bit arm64.

I don't think we can fix this, but I don't recall this having been documented anywhere either.

Interesting.

@jonpryor jonpryor merged commit 46f5821 into dotnet:master Feb 2, 2017
radical pushed a commit to radical/xamarin-android that referenced this pull request May 7, 2018
…lite3` for projects that reference sqlite but don't use fastdev (dotnet#415) (dotnet#25)

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40804

There was an issue with the way the dll.config files were
extracted from the apk. They were including additional data
at the end of the xml because the files were not null
terminated.

This patch fixes the null termination for user included
config files and those included in the debug runtime.
It also adds method to extract the config file from the apk
(this was apparently missing too).
@github-actions github-actions bot locked and limited conversation to collaborators Feb 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants