Skip to content
This repository was archived by the owner on Oct 4, 2021. It is now read-only.

[build] Make our MSBuild builder a 64bit process#6416

Merged
slluis merged 2 commits intomasterfrom
make-builders-64bit
Nov 15, 2018
Merged

[build] Make our MSBuild builder a 64bit process#6416
slluis merged 2 commits intomasterfrom
make-builders-64bit

Conversation

@alanmcgovern
Copy link
Copy Markdown
Member

@alanmcgovern alanmcgovern commented Oct 19, 2018

Xamarin.Android is 64bit only now and will only allow you to compile
Android projects if our hosted builder is also 64bit.

Fixes VSTS 724560

@alanmcgovern alanmcgovern requested a review from slluis October 19, 2018 12:23
@alanmcgovern
Copy link
Copy Markdown
Member Author

/cc @jonpryor

@alanmcgovern
Copy link
Copy Markdown
Member Author

$ file lib/xamarin.android/xbuild/Xamarin/Android/libzip.5.0.dylib
lib/xamarin.android/xbuild/Xamarin/Android/libzip.5.0.dylib: Mach-O 64-bit dynamically linked shared library x86_64

@slluis
Copy link
Copy Markdown
Member

slluis commented Oct 19, 2018

I think we still need the configuration property groups

@alanmcgovern
Copy link
Copy Markdown
Member Author

i think someone else who is not me should own this work item :p

@alanmcgovern
Copy link
Copy Markdown
Member Author

Hi!

This is critical issue as we cannot sanely compile our stuff anymore! Can we please get some action on this so we can get it merged asap?

Xamarin.Android is 64bit only now and will only allow you to compile
Android projects if our hosted builder is also 64bit.

Fixes VSTS #724560 - Make our MSBuild builder a 64bit process
@mrward mrward force-pushed the make-builders-64bit branch from dc63ca6 to c00d55f Compare November 6, 2018 18:21
@mrward
Copy link
Copy Markdown
Contributor

mrward commented Nov 6, 2018

Updated the pull request. Not managed to verify this fixes the problem. Tried master Xamarin.Android 9.1.199-11 and 9.1.199-13 and Android projects build without errors when using VS Mac 7.6 and 7.7 without this change. Is there a way to see a build failure when using the 32-bit msbuild host?

@mrward
Copy link
Copy Markdown
Contributor

mrward commented Nov 6, 2018

OK a repro is to use VS Mac 7.7, Xamarin.Android Xamarin.Android 9.1.199.11 (master) create and build an Android project. Build error occurs:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(3,3): Error MSB4018: The "Javac" task failed unexpectedly.
System.DllNotFoundException: libzip.5.0.dylib
  at (wrapper managed-to-native) Xamarin.Tools.Zip.Native.zip_open(intptr,Xamarin.Tools.Zip.OpenFlags,Xamarin.Tools.Zip.ErrorCode&)
  at Xamarin.Tools.Zip.Native.zip_open (System.String path, Xamarin.Tools.Zip.OpenFlags flags, Xamarin.Tools.Zip.ErrorCode& errorp) [0x00007] in <7647a3b77ec94e7a9bd033ccf6f09f8e>:0 
  at Xamarin.Tools.Zip.ZipArchive.Open (System.String path, Xamarin.Tools.Zip.OpenFlags flags) [0x00009] in <7647a3b77ec94e7a9bd033ccf6f09f8e>:0 
  at Xamarin.Tools.Zip.ZipArchive.Open (System.String path, System.IO.FileMode mode, System.String defaultExtractionDir, System.Boolean strictConsistencyChecks, Xamarin.Tools.Zip.IPlatformOptions options) [0x0005a] in <7647a3b77ec94e7a9bd033ccf6f09f8e>:0 
  at Xamarin.Android.Tasks.ZipArchiveEx..ctor (System.String archive, System.IO.FileMode filemode) [0x0000d] in <751de2ea19194494854f3afd002d729f>:0 
  at Xamarin.Android.Tasks.Javac.Execute () [0x0003a] in <751de2ea19194494854f3afd002d729f>:0 
  at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00023] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-06/external/bockbuild/builds/msbuild-15/src/Build/BackEnd/TaskExecutionHost/TaskExecutionHost.cs:573 
  at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost, Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext, Microsoft.Build.BackEnd.TaskHost taskHost, Microsoft.Build.BackEnd.ItemBucket bucket, Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) [0x001f6] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-06/external/bockbuild/builds/msbuild-15/src/Build/BackEnd/Components/RequestBuilder/TaskBuilder.cs:784  (MSB4018) 

@nosami
Copy link
Copy Markdown
Member

nosami commented Nov 13, 2018

Can verify that this PR allows VSMac to build with master Xamarin.Android 9.1.199-22

@Therzok
Copy link
Copy Markdown
Contributor

Therzok commented Nov 13, 2018

Hopefully, other msbuild tasks (i.e. nuget ones) ship 64bit native libs. Looks good to me! 👍

@Therzok
Copy link
Copy Markdown
Contributor

Therzok commented Nov 13, 2018

Shouldn't matter in the long run, as macOS is deprecating 32bit

@garuma
Copy link
Copy Markdown
Contributor

garuma commented Nov 13, 2018

@mrward in the same vein I noticed that the NUnit test runners are also being executed on a 32bits process. I assume the fix needed is similar, do you want me to open a separate issue?

@Therzok
Copy link
Copy Markdown
Contributor

Therzok commented Nov 13, 2018

@garuma maybe worth resurrecting #1620 ?

@garuma
Copy link
Copy Markdown
Contributor

garuma commented Nov 13, 2018

@Therzok indeed although that PR seems to be handling both 32bits and 64bits cases, do we still want that or should it only be one runner that is 64bits only?

@Therzok
Copy link
Copy Markdown
Contributor

Therzok commented Nov 13, 2018

or should it only be one runner that is 64bits only?

On mac, sure. On other platforms, we need to keep that functionality, otherwise unit testing 32bit pinvokes will be broken.

@slluis
Copy link
Copy Markdown
Member

slluis commented Nov 15, 2018

It looks like c# binding tests are hanging.

@slluis slluis merged commit 33dc12d into master Nov 15, 2018
@slluis slluis deleted the make-builders-64bit branch November 15, 2018 14:36
@slluis
Copy link
Copy Markdown
Member

slluis commented Nov 19, 2018

@monojenkins backport release-7.7

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.

7 participants