Add arm64 cross-build images targeting Ubuntu 16.04 #754
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@janvorli @MichaelSimons PTAL. I can't seem to add reviewers directly.
This is adding an Ubuntu 20.04 image with an arm64 Ubuntu 16.04 rootfs that we can use to build against a lower glibc version than we currently support. The plan is to use this image at least for the .NET 7 part of dotnet/runtime#69361.
Locally, I've used these steps to build a container that can build coreclr with the
--pgoinstrument
argument. Without the profile library build, the build fails withBuilding this library and copying it into the rootfs fixes this.
@janvorli I would appreciate if you could also review the logs here to make sure everything looks ok: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/137325/logs/467. I started with instructions at https://llvm.org/docs/HowToCrossCompileLLVM.html and https://llvm.org/docs/HowToCrossCompileBuiltinsOnArm.html, then had to play around with the arguments and use a mix of CMAKE variables and flags like
--sysroot
(-DCMAKE_SYSROOT
was not working as I expected). The logs show that/usr/lib/llvm-9/lib/clang/9.0.1/include
is still being used as an include path - I am not sure if this is a problem, so I'd appreciate your eyes on this.