Azure / Azure/DotNetty

No instructions/Hints for building on Linux?

Open
#601 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
4.3k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

My team is using DotNetty on a .net 6 project, and I'm experiencing different behavior on Linux (Ubuntu 20.04 in my case) than on Windows. Having ruled out most everything I could think of in my own code, I thought I'd attempt to build DotNetty locally and see if I could see what's what in a debugger, or at least add some logging that might provide a clue. The only build instructions I could find were on [This old Wiki page](https://github.com/Azure/DotNetty/wiki/Building-DotNetty), are these current? Among other things, it says to use `build.sh` to "launch FAKE on Linux", but `build.sh` isn't even a shell script as of [this commit](https://github.com/Azure/DotNetty/commit/5eee925b7597c6b07689f25f328966e330ff58f9), it's been replaced with Powershell code. I tried to just run `dotnet build` from the root and this mostly seemed to work without use of FAKE, cake, et al, but attempting to run tests via `dotnet test` just resulted in a sea of red text about missing vairous things, like this:
```
Testhost process exited with error: It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '3.1.0' (x64) was not found.
- The following frameworks were found:
6.0.6 at [/usr/local/dotnet/shared/Microsoft.NETCore.App]
You can resolve the problem by installing the specified framework and/or SDK.
The specified framework can be found at:
- https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.0&arch=x64&rid=ubuntu.20.04-x64
. Please check the diagnostic logs for more information.

Test Run Aborted.
```
And this:
```
System.IO.FileNotFoundException: Could not find 'mono' host. Make sure that 'mono' is installed on the machine and is available in PATH environment variable.
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Helpers.DotnetHostHelper.GetMonoPath()
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Hosting.DefaultTestHostManager.GetTestHostProcessStartInfo(IEnumerable`1 sources, IDictionary`2 environmentVariables, TestRunnerConnectionInfo connectionInfo)
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyOperationManager.SetupChannel(IEnumerable`1 sources, String runSettings)
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyExecutionManager.StartTestRun(TestRunCriteria testRunCriteria, ITestRunEventsHandler eventHandler)

Test Run Aborted.
```
So I'm kind of at a loss. Is DotNetty inteneded to work on Linux? Is building/testing it possible on Linux? If so, how is it done? `build.sh` just contains Powershell code, am I supposed to install Powershell on my Ubuntu machine and run it, or was the bash code overwritten and never noticed?

It seems to me it would be great to have a clear, concise statement like in README.md or somewhere else prominent stating exactly which platforms are expected to work, how it's supposed to be built/tested on each, etc. Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.