fsharp icon indicating copy to clipboard operation
fsharp copied to clipboard

[source-build] Bootstrapping the F# compiler fails with a "no entrypoint" warning

Open crummel opened this issue 3 years ago • 1 comments

In the complete source-built SDK, our Linux partners will follow this procedure:

  1. Source-build the SDK using the Microsoft-built SDK, producing the "stage 1 SDK".
  2. Source-build the SDK again using the stage 1 SDK, producing the "stage 2 SDK", which is completely free of prebuilts and was not built using any prebuilt binaries.

In this process, we are seeing an issue in F#. The stage 1 SDK is produced as normal, but when attempting to compile the stage 2 SDK, the F# Proto build fails with warning: no entrypoint specified in executable binary. This warning was removed temporarily in https://github.com/dotnet/installer/pull/14564 and https://github.com/dotnet/installer/pull/14565.

crummel avatar Sep 21 '22 20:09 crummel

@crummel what would be the easiest way of reproducing it? We also build Proto compiler with rc1 and then build product with Proto, and don't have this issue.

vzarytovskii avatar Sep 22 '22 11:09 vzarytovskii

This was fixed by https://github.com/dotnet/fsharp/pull/13963, thanks!

crummel avatar Sep 27 '22 15:09 crummel

What is the recommended solution for source-build in .NET 7.0? @KevinRansom

MichaelSimons avatar Sep 27 '22 22:09 MichaelSimons

What is the recommended solution for source-build in .NET 7.0? @KevinRansom

If it's not fixed by the https://github.com/dotnet/fsharp/pull/13963, then it's fine to suppress it (or have a patch in place). It's only affecting (some of the) ref assemblies, so shouldn't be affecting the product, since we aren't shipping refassemblies.

vzarytovskii avatar Sep 27 '22 23:09 vzarytovskii

Is https://github.com/dotnet/fsharp/pull/13963 going to flow into .NET 7.0?

MichaelSimons avatar Sep 28 '22 02:09 MichaelSimons

Is https://github.com/dotnet/fsharp/pull/13963 going to flow into .NET 7.0?

Yes, iirc, it is a part of https://github.com/dotnet/sdk/pull/28137 insertion and should be a part of rc2.

vzarytovskii avatar Sep 28 '22 10:09 vzarytovskii