Xamarin 15.2.2 - error XA5103: NDK C compiler resulted in an error

What’s the error after the upgrade? Or was the log you sent to us the one after the upgrade?

The log I sent was from bitrise itself. It has the same error that I had locally before the upgrade. After upgrading I do not have the error locally.

Searching for the error it also seems to be a know Xamarin issue, with certain Mono versions. Related Xamarin tracker report: https://bugzilla.xamarin.com/show_bug.cgi?id=56786

From about 5 days ago (from https://bugzilla.xamarin.com/show_bug.cgi?id=56786):

This is related to commit tamarin-android/master/b6d2360

The problem came from the tamarin-android repo switching over to use the system mono mkbundle rather than compiling its own. The problem being that the mono-config.h files are not present. This has now been fixed in the commit above.

The new system allows us to pass an additional flag to tell mkbundle NOT to use the headers. however this does require a new version of mkbundle (see mono/master/59737b2a).

Currently the only work around is to disable bundling of assemblies into native code.

That bug was fixed in 15.2.2 which you deployed, I’m guessing this is caused by the build steps still using xbuild instead of msbuild.

Regardless, they need updating to msbuild as xbuild will be removed in the future.

1 Like

Bumped the related task. That said I just saw an msbuild specific issue on the Xamarin tracker where the solution is to switch back to xbuild…

I guess this should be an option on the step, which one to use.

1 Like

Yes it needs an option - just to confirm, our project builds with msbuild on 15.2.2 but fails with xbuild, so we urgently need that build step updating please :slight_smile:

1 Like

I bumped it as high as I could. In the meantime:

1 Like

Does the bitrise stack currently include the 15.2.2 hotfix released on friday? I can’t tell from the system report as the xamarin android version reported isn’t specific enough, it doesn’t have the fourth point version number. I suspect the hotfix isn’t deploy as this would explain why I can build the apps without issue using cli locally as I will have the fix.

If the hotfix isn’t deployed is it possible you might deploy this sooner than the weekend? Several of our production apps are failing on bitrise and none of the workarounds to config get them building.

1 Like

So it does work with the same version and with xbuild locally?

It’s possible that fix was not included, as the stacks are auto provisioned during the early hours on Friday, and tested during the day.

If you confirm that it works locally with xbuild I can schedule an early patch deploy for it, which can be deployed into production in about 12 hours, maybe less.

I ran the usual workflow locally that uses the normal xamarin archive step, I presume that uses xbuild. It was successfully built.

1 Like

Thanks for confirming and for the xamarin releases link - we already started to prepare the stack update as indeed it seems that hotfix was released after the VMs were provisioned, and the issue should be fixed by that hotfix update.

We’ll try to push the updated stack into production ASAP.

1 Like

Great news! Thanks for getting that going quickly

1 Like

Sure, we definitely understand its importance.

Note: we’ll try to push the update into production ASAP, so for now we’ll only update the Stable stack, Beta and Alpha will be updated this weekend, following the usual schedule.

1 Like

In the meantime all the tests did pass and the deploy was started; new Xamarin Stable VMs will now use the new updated VM image which includes the Xamarin.Android hotfix update!

Note: Any build started on an Elite stack will now start with the new build image, but on the Standard stacks it might take a bit more time to refresh all the build VMs as the Standard stacks have prebooted build VMs, which will only use the new image when the VM is rebuilt. In practice this should mean that if you start a build right now and you still have the issue please try to do a rebuild, that will most likely start with the new updated image.

1 Like

I can confirm our builds are succeeding again on bitrise. Thanks again for getting the stacks updated.

1 Like

Awesome to hear! :rocket:

Thanks again for all the infos and sorry for the inconvenience.

Happy Building! :wink:

@tomgilder xamarin-archive 1.4.1 was just released, and the new version now has a tool option where you can set msbuild: https://github.com/bitrise-steplib/steps-xamarin-archive/releases/tag/1.4.1

P.S.: due to caching on bitrise.io it might take some time for the new version to show up. If you use the local workflow editor or set the version in bitrise.yml directly, 1.4.1 is available now. On the website it should be available in ~10-30 mins; if you’d still not see it after that, please reload the page/editor a couple of times to refresh the browser’s cache.

1 Like

@viktorbenei thank you for the update, works perfectly - could we get the same option for the “NUnit runner” step too please? :slight_smile:

1 Like

@godreikrisztian & @tamaspapik could we? :wink:

1 Like

Hi @tomgilder ,
i scheduled to update our xamarin test steps as well.

1 Like