-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[VMR] linux/mac-arm64 cross build fails w/ CoreCLR runtime #3698
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
/cc @jkoritzinsky |
This is the error I get with Linux:
I don't know enough about CoreCLR to know what |
@jtschuster @agocke looping you guys in too |
I have a build finished and the arm64 sdk runs on my machine with qemu. I have dotnet/dotnet cloned at /src/dotnet in wsl, then ran
|
To make the runtime compatible with cross-arch compilation, we should add --cross to the source-build build, and avoid publishing ReadyToRun or AOT compiled. The compilers don't have a valid runtime pack for the host during the cross-build at this point, so trying to run them fails. Part of dotnet/source-build#3698
The issue requiring workarounds is that we don't specify the build machine's runtime pack as a prerequisite and runtime is told not to download packages ( |
In the VMR, we don't yet specify the host runtime pack as a prerequisite for cross-arch builds, so the crossgen2 package that would be run on the build machine doesn't work. For now we can work around this by not running crossgen on cross-arch VMR builds. Related to dotnet/source-build#3698
Made #3793 to track reenabling crossgen and ilc. |
…iting in source-build (#96858) In #75597, for source-build we replace all the RIDs with only the `PackageRID` in the `KnownFrameworkReference` for `NetCurrent` when we should have only added an additional RID. This was causing issues in crossbuilds of vertical builds. The crossgen and ilc projects that run within the build require a runtime for the build machine's RID, but it wasn't found in `KnownFrameworkReference` and the build failed during restore. Part of reenabling Crossgen and ILC in arm64 crossbuild verticals dotnet/source-build#3698
…iting in source-build (dotnet#96858) In dotnet#75597, for source-build we replace all the RIDs with only the `PackageRID` in the `KnownFrameworkReference` for `NetCurrent` when we should have only added an additional RID. This was causing issues in crossbuilds of vertical builds. The crossgen and ilc projects that run within the build require a runtime for the build machine's RID, but it wasn't found in `KnownFrameworkReference` and the build failed during restore. Part of reenabling Crossgen and ILC in arm64 crossbuild verticals dotnet/source-build#3698
Describe the Bug
When triggering a building targeting arm64 from a linux or mac x64 host, the VMR build will fail at runtime with the following error:
Steps to Reproduce
Apply the patch @directhex made in [VMR] Add cross build support #3671 (comment)
Build the VMR
For Mac:
For Linux:
Other Information
The text was updated successfully, but these errors were encountered: