Skip to content

[VMR] Non-Linux status update #3217

@directhex

Description

@directhex

I've been tinkering away on the VMR, with the grand goal being the ability to build our servicing releases of mobile with it.

#3149 notwithstanding, the current status is:

  • x64 Mac buildable on x64 Mac (or arm64 Mac with arch -x86_64 prefix to prep.sh/build.sh
  • arm64 Mac buildable on arm64 Mac
  • Windows x64 should be closer to working than before, but is untested

The obvious gap there is the ability to build arm64 Mac from x64, and vice versa - which ties in to the general "big engineering job" which needs to be resolved, of "building the VMR for RID A, using a computer with RID B". osx-arm64 from osx-x64 is the obvious easily reproduced example of this, but it extends to all the mobile ports, wasm, etc - overriding the TargetOS/TargetArchitecture is all well and good but the whole build system assumes "I am building on the target system" because that's how Linux distro builds do it, and source-build grew from their needs first.

source-build's build.sh doesn't use TargetOS/TargetArchitecture by itself, and passing those through with -- /p: doesn't achieve much:

$ arch -x86_64 ./build.sh --online -- /p:TargetArchitecture=arm64
[..]
  [16:34:27.69] Building 'source-build-reference-packages'
  Running command:
    /Users/directhex/Projects/dotnet/src/source-build-reference-packages/build.sh  --ci --configuration Release --restore --build --pack --publish -bl /p:ArcadeBuildFromSource=true /p:CopyWipIntoInnerSourceBuildRepo=true /p:DotNetBuildOffline=true /p:CopySrcInsteadOfClone=true /p:DotNetPackageVersionPropsPath="/Users/directhex/Projects/dotnet/artifacts/obj/x64/Release/PackageVersions.source-build-reference-packages.props" /p:AdditionalSourceBuiltNupkgCacheDir="/Users/directhex/Projects/dotnet/artifacts/obj/x64/Release/blob-feed/packages/" /p:ReferencePackageNupkgCacheDir="/Users/directhex/Projects/dotnet/prereqs/packages/reference/" /p:PreviouslySourceBuiltNupkgCacheDir="/Users/directhex/Projects/dotnet/prereqs/packages/previously-source-built/" /p:SourceBuildUseMonoRuntime= /p:MicrosoftNetCoreIlasmPackageRuntimeId=osx-x64 /p:LocalNuGetPackageCacheDirectory=/Users/directhex/Projects/dotnet/artifacts/obj/source-build-reference-package-cache  /p:DotNetPackageVersionPropsPath=/Users/directhex/Projects/dotnet/artifacts/obj/x64/Release/PackageVersions.source-build-reference-packages.props /p:DotNetBuildOffline=true
[..]
/Users/directhex/Projects/dotnet/repo-projects/Directory.Build.targets(324,5): error MSB3073: The command "/Users/directhex/Projects/dotnet/src/source-build-reference-packages/build.sh  --ci --configuration Release --restore --build --pack --publish -bl /p:ArcadeBuildFromSource=true /p:CopyWipIntoInnerSourceBuildRepo=true /p:DotNetBuildOffline=true /p:CopySrcInsteadOfClone=true /p:DotNetPackageVersionPropsPath="/Users/directhex/Projects/dotnet/artifacts/obj/x64/Release/PackageVersions.source-build-reference-packages.props" /p:AdditionalSourceBuiltNupkgCacheDir="/Users/directhex/Projects/dotnet/artifacts/obj/x64/Release/blob-feed/packages/" /p:ReferencePackageNupkgCacheDir="/Users/directhex/Projects/dotnet/prereqs/packages/reference/" /p:PreviouslySourceBuiltNupkgCacheDir="/Users/directhex/Projects/dotnet/prereqs/packages/previously-source-built/" /p:SourceBuildUseMonoRuntime= /p:MicrosoftNetCoreIlasmPackageRuntimeId=osx-x64 /p:LocalNuGetPackageCacheDirectory=/Users/directhex/Projects/dotnet/artifacts/obj/source-build-reference-package-cache /v:minimal  /p:DotNetPackageVersionPropsPath=/Users/directhex/Projects/dotnet/artifacts/obj/x64/Release/PackageVersions.source-build-reference-packages.props /p:DotNetBuildOffline=true >> /Users/directhex/Projects/dotnet/artifacts/logs/source-build-reference-packages.log 2>&1" exited with code 1. [/Users/directhex/Projects/dotnet/repo-projects/source-build-reference-packages.proj]
[..]
        Determining projects to restore...
    /Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj : error NU1102: Unable to find package Microsoft.NETFramework.ReferenceAssemblies with version (>= 1.0.3) [/Users/directhex/Projects/dotnet/prereqs/packages/restored/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/7.0.0-beta.22513.4/tools/Build.proj]
    ##vso[task.logissue type=error;sourcepath=/Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj;linenumber=0;columnnumber=0;code=NU1102;]Unable to find package Microsoft.NETFramework.ReferenceAssemblies with version (>= 1.0.3)
    /Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj : error NU1102: - Found 1 version(s) in previously-source-built [ Nearest version: 1.0.2 ] [/Users/directhex/Projects/dotnet/prereqs/packages/restored/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/7.0.0-beta.22513.4/tools/Build.proj]
    ##vso[task.logissue type=error;sourcepath=/Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj;linenumber=0;columnnumber=0;code=NU1102;]- Found 1 version(s) in previously-source-built [ Nearest version: 1.0.2 %5D
    /Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj : error NU1102: - Found 1 version(s) in reference-packages [ Nearest version: 1.0.2 ] [/Users/directhex/Projects/dotnet/prereqs/packages/restored/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/7.0.0-beta.22513.4/tools/Build.proj]
    ##vso[task.logissue type=error;sourcepath=/Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj;linenumber=0;columnnumber=0;code=NU1102;]- Found 1 version(s) in reference-packages [ Nearest version: 1.0.2 %5D
    /Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj : error NU1102: - Found 0 version(s) in source-build-reference-package-cache [/Users/directhex/Projects/dotnet/prereqs/packages/restored/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/7.0.0-beta.22513.4/tools/Build.proj]
    ##vso[task.logissue type=error;sourcepath=/Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj;linenumber=0;columnnumber=0;code=NU1102;]- Found 0 version(s) in source-build-reference-package-cache
    /Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj : error NU1102: - Found 0 version(s) in source-built [/Users/directhex/Projects/dotnet/prereqs/packages/restored/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/7.0.0-beta.22513.4/tools/Build.proj]
    ##vso[task.logissue type=error;sourcepath=/Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj;linenumber=0;columnnumber=0;code=NU1102;]- Found 0 version(s) in source-built
    /Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj : error NU1102: - Found 0 version(s) in prebuilt [/Users/directhex/Projects/dotnet/prereqs/packages/restored/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/7.0.0-beta.22513.4/tools/Build.proj]
    ##vso[task.logissue type=error;sourcepath=/Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj;linenumber=0;columnnumber=0;code=NU1102;]- Found 0 version(s) in prebuilt
        Failed to restore /Users/directhex/Projects/dotnet/src/source-build-reference-packages/artifacts/source-build/self/src/src/referencePackages/src/system.data.sqlclient/4.8.5/System.Data.SqlClient.4.8.5.csproj (in 1.97 sec).

      Build FAILED.

If we can get that basic case working, it shouldn't be hard to get mobile working.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions