fsharp-core-docs icon indicating copy to clipboard operation
fsharp-core-docs copied to clipboard

Build doesn't work on Linux?

Open IanWitham opened this issue 9 months ago • 4 comments

The build instructions work for me on Windows but I can't get the docs to build on Linux. I'm doing the obvious things like changing the path separators.

FSDocs can't find any namespaces, so no API docs are produced.

Is this expected, or am I missing something?

IanWitham avatar Apr 13 '25 03:04 IanWitham

The CI steps should be canonical?

https://github.com/fsharp/fsharp-core-docs/blob/main/.github/workflows/docs.yml

dsyme avatar Apr 13 '25 08:04 dsyme

The CI matches the build steps in the readme. I notice the CI is configured to run on Windows.

I did get it to work by running Build.sh. This takes a long time and seems to build multiple versions. I don't fully understand the magic that's happening with the fsproj in this repo, which I'm guessing helps to do a more targeted build.

IanWitham avatar Apr 13 '25 09:04 IanWitham

So, your problem is with building the F# compiler? Might be worth listed the output where things are going wrong.

nojaf avatar Apr 13 '25 09:04 nojaf

The F# compiler build seems to work and has the same output on both Windows and Linux.

$ dotnet build src/FSharp.Core/FSharp.Core.fsproj /p:BUILDING_USING_DOTNET=true
Restore complete (1.0s)
  FSharp.Core netstandard2.0 succeeded (0.2s) → artifacts/bin/FSharp.Core/Debug/netstandard2.0/FSharp.Core.dll
  FSharp.Core netstandard2.1 succeeded (0.3s) → artifacts/bin/FSharp.Core/Debug/netstandard2.1/FSharp.Core.dll

I managed to get the fsdocs to build only after changing the TargetPaths in FSharp.Core.fsproj from Release to Debug, otherwise it complains that it can't find DLLs under the Release path.

The weird thing to me is that on Windows it also builds the DLLs to Debug paths, yet the FsDocs build works in that case with the same "Release" path in the fsproj.

IanWitham avatar Apr 15 '25 23:04 IanWitham