-
Notifications
You must be signed in to change notification settings - Fork 137
Description
It's been a longstanding issue that there are no x86 builds for linux, even though it technically is already (supposedly) possible, closed issues in corefx and coreclr exist with people reporting they have build it - they even have documents how to cross compile - unfortunately nobody ever bothered to document how this works on a big scale, how to produce a full build usable for creating x86 applications.
I've been pointed by @jkotas from dotnet/coreclr#9265 to this repo since it integrates the build of the individual repos, but haven't been able to sucessfully build anything yet.
What I have tried before source-build (this was pre-3.0, around half a year ago):
- I'm using Ubuntu 16.04 x86_64 in a VM
- I'm able to build corefx and coreclr individually following their documentation
- I can cross-compile coreclr for x86 following their documentation
- I fail to create a custom corefx build because there is no documentation how to feed it the custom coreclr build
- I didn't even attempt to build anything past corefx yet
What I've tried with source-build:
- the only document talking even remotely about the topic of creating a build for a non-official RID is the bootstrap documentation
- the bootstrap documentation is not easy to follow for the usecase of creating a Linux x86 build, in particular setting up a working seedcli took a lot of trial and error
- the document says it expects the seedcli to use the same architecture as the target build, so I tried using a win-x86 one but that didn't work out
- then I read the whole document and realized at the end it explained how to build for different architectures, so I tried using linux-x64 as seedcli; this failed as well when following the recommendation of picking the version from DotnetCLIVersion.txt - it complains about missing NuGetFallbackFolder, even after running
dotnet new console
with the seedcli (which fills the NuGetFallbackFolder) it has the same error - ignoring the recommendation and just picking a 3.0 preview7 sdk as seedcli allows to get a bit further, now it starts compiling things but fails with coreclr, missing the
--cross
flag
I could probably try to create a plain x86 VM instead of x86_64 but I think I have tried that before (but not with source-build) and was running out of memory in some build step. I'll definitely try it when I get time for it over the weekend, but I thought to report back earlier in case I'm missing something important. (it's been suggested to use rootfs instead)
Anyways, my request is, if there's not going to be official Linux x86 builds it would be great if it would be at least possible to do custom builds - or if its too complicated to integrate into the tooling, at least document how to do them. I guess someone must have tried it?
(Background: x64 builds of .NET Core require 2x the memory so they require paying for additional RAM when deploying .NET Core applications instead of Mono applications. This has been a blocker on fully migrating to .NET Core for years.)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status