Couchbase.Lite 2.0.0DB22 will fail AOT building Xamarin iOS ARM configurations with MT3001


#1

As soon as I update my Xamarin Forms solution to Couchbase.Lite DB22 my iOS project will build for x86_64, but when I switch to any ARM configuration will not build:
/Users/user/Projects/Project/Project.Mobile/iOS/MTOUCH: Error MT3001: Could not AOT the assembly '/Users/user/Projects/Project/Project.Mobile/iOS/obj/iPhone/Release/mtouch-cache/64/Build/Couchbase.Lite.dll' (MT3001) (VECMAP.iOS)

I created a new template Xamarin Forms application (.NET Standard 2.0 “PCL” style), and added Couchbase.Lite and Couchbase.Lite.Support.iOS, and the app will not build for ARM configurations either.

Attached is AOT error message and the test solution.

aot-crash-arm.zip (20.3 KB)


#2

To confirm, you mean that this does not happen with db021?


#3

Actually I think I probably have found the issue already. I didn’t know that it would not manifest unless it was built with AOT, so I’ll check to see if there is a way to add that to the automated testing.


#4

Yes, confirmed. This works in db021 – I took an old commit from my git. As soon as I updated to db022 NuGets the build to ARM fails.


#5

Thanks. This SO post magically pointed me in the right direction. I’ll try to confirm that this works soon but it may take a few days. The fix is just a one line change so if you are in a hurry to confirm this I can point you in the right direction to build this.


#6

I don’t really have the time now to build this, so I will wait a few days for you to confirm.