Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
crossgen2 (and by extension, runtime) fails to build on an arm64 box. This is the error I see on Fedora 32 aarch64: ./build.sh ... crossgen2 -> artifacts/bin/coreclr/Linux.arm64.Debug/crossgen2/crossgen2.dll src/coreclr/src/tools/aot/crossgen2/crossgen2.csproj(87,5): error MSB3030: Could not copy the file "artifacts/bin/coreclr/Linux.arm64.Debug//x64/libjitinterface.so" because it was not found. The file is there, just not under the `x64` directory: $ find -iname libjitinterface.so ./artifacts/bin/coreclr/Linux.arm64.Debug/libjitinterface.so ./artifacts/bin/coreclr/Linux.arm64.Debug/crossgen2/libjitinterface.so ./artifacts/obj/coreclr/Linux.arm64.Debug/src/tools/aot/jitinterface/libjitinterface.so The actual bug is that crossgen2 seems to assume that if the build is for an `arm64` RID, it's a cross-build, not a hosted build. Fix that by explicitly checking `BuildArchitecture` as well. Please see dotnet/corefx#40453 and dotnet/core-setup#8468 for related fixes enabling building for arm64 on an arm64 machine. I have *not* verified this change in Visual Studio.
- Loading branch information