Thefrank / dotnet-freebsd-crossbuild

Bash script and patches for building dotNET for FreeBSD under Linux
31 stars 3 forks source link

f# ionide plugin for vscode #4

Closed devosalain closed 1 year ago

devosalain commented 1 year ago

f# ionide plugin for vscode does not work.

Thefrank commented 1 year ago

As you have provided no additional details or error codes I will try and work with just building the repo: ionide-vscode-fsharp the dotnet tool restore works fine but when the build gets to dotnet paket restore it fails.

I am not familiar with F# but it appears that the paket tool only sees Linux as matching its isUnix case. https://github.com/fsprojects/Paket/blob/master/src/Paket.Core/Common/Utils.fs#L257-L265 The case also only uses netstandard which only has OSPlatform for: Windows, Linux, Mac. The if statement looks like it should still return isUnix further down but the error seems to state otherwise. The command it is trying to execute works on its own and git is on envPATH

Paket failed with
-> Fetching the git cache at /root/.paket/git/db/ionide-fsgrammar failed.
   Message: Could not run "git clone --mirror "https://github.com/ionide/ionide-fsgrammar.git" "/root/.paket/git/db/ionide-fsgrammar"".
   StackTrace:
        at Microsoft.FSharp.Core.PrintfModule.PrintFormatToStringThenFail@1439.Invoke(String message) in D:\a\_work\1\s\src\fsharp\FSharp.Core\printf.fs:line 1439
        at Paket.Git.Handling.fetchCache(String repoCacheFolder, String cloneUrl) in D:\code\Paket\src\Paket.Core\Dependencies\GitHandling.fs:line 160
        at Paket.RemoteDownload.downloadRemoteFiles$cont@196(ResolvedSourceFile remoteFile, String destination, String cloneUrl, Unit unitVar) in D:\code\Paket\src\Paket.Core\Dependencies\RemoteDownload.fs:line 202
        at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 447
        at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 104
     --- End of stack trace from previous location ---
        at Microsoft.FSharp.Control.AsyncResult`1.Commit() in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 392
        at Microsoft.FSharp.Control.AsyncPrimitives.RunImmediate[a](CancellationToken cancellationToken, FSharpAsync`1 computation) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 1064
        at Microsoft.FSharp.Control.AsyncPrimitives.RunSynchronously[T](CancellationToken cancellationToken, FSharpAsync`1 computation, FSharpOption`1 timeout) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 1070
        at Microsoft.FSharp.Control.FSharpAsync.RunSynchronously[T](FSharpAsync`1 computation, FSharpOption`1 timeout, FSharpOption`1 cancellationToken) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 1366
        at Paket.RemoteDownload.DownloadSourceFiles(String rootPath, GroupName groupName, Boolean force, FSharpList`1 sourceFiles) in D:\code\Paket\src\Paket.Core\Dependencies\RemoteDownload.fs:line 293
        at Paket.RestoreProcess.restore@149.Invoke(Unit unitVar) in D:\code\Paket\src\Paket.Core\Installation\RestoreProcess.fs:line 149
        at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 447
        at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 104
     --- End of stack trace from previous location ---
        at Microsoft.FSharp.Control.AsyncResult`1.Commit() in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 392
        at Microsoft.FSharp.Control.AsyncPrimitives.QueueAsyncAndWaitForResultSynchronously[a](CancellationToken token, FSharpAsync`1 computation, FSharpOption`1 timeout) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 1045
        at Microsoft.FSharp.Control.AsyncPrimitives.RunSynchronously[T](CancellationToken cancellationToken, FSharpAsync`1 computation, FSharpOption`1 timeout) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 1071
        at Microsoft.FSharp.Control.FSharpAsync.RunSynchronously[T](FSharpAsync`1 computation, FSharpOption`1 timeout, FSharpOption`1 cancellationToken) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 1366
        at Paket.RestoreProcess.Restore@861-10.Invoke(Unit unitVar0) in D:\code\Paket\src\Paket.Core\Installation\RestoreProcess.fs:line 872
        at Paket.Utils.RunInLockedAccessMode(String lockedFolder, FSharpFunc`2 lockedAction) in D:\code\Paket\src\Paket.Core\Common\Utils.fs:line 540
        at Paket.RestoreProcess.Restore(String dependenciesFileName, RestoreProjectOptions projectFile, Boolean force, FSharpOption`1 group, Boolean ignoreChecks, Boolean failOnChecks, FSharpOption`1 targetFrameworks, FSharpOption`1 outputPath, Boolean skipRestoreTargetsExtraction) in D:\code\Paket\src\Paket.Core\Installation\RestoreProcess.fs:line 859
        at Paket.Program.restore(ParseResults`1 results) in D:\code\Paket\src\Paket\Program.fs:line 454
        at Paket.Program.handleCommand@886-14.Invoke(ParseResults`1 results) in D:\code\Paket\src\Paket\Program.fs:line 886
        at Paket.Program.processWithValidationEx[a](FSharpFunc`2 printUsage, Boolean silent, FSharpFunc`2 validateF, FSharpFunc`2 commandF, a result) in D:\code\Paket\src\Paket\Program.fs:line 47
        at Paket.Program.processWithValidation[T](Boolean silent, FSharpFunc`2 validateF, FSharpFunc`2 commandF, ParseResults`1 result) in D:\code\Paket\src\Paket\Program.fs:line 129
        at Paket.Program.processCommand[a](Boolean silent, FSharpFunc`2 commandF, ParseResults`1 result) in D:\code\Paket\src\Paket\Program.fs:line 132
        at Paket.Program.handleCommand(Boolean silent, Command command) in D:\code\Paket\src\Paket\Program.fs:line 886
        at Paket.Program.main() in D:\code\Paket\src\Paket\Program.fs:line 980
Thefrank commented 1 year ago

Closing. This is likely an upstream issue with most tools/projects not being aware of FreeBSD :(