question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Pop!_OS 20.04 not supported

See original GitHub issue

I haven’t tried it with straight Ubuntu 20.04 yet; this is a newly paved machine with Pop!_OS 20.04.

/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: The "Nerdbank.GitVersioning.Tasks.GetBuildVersion" task failed unexpectedly. [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: System.TypeInitializationException: The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception. [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:  ---> System.PlatformNotSupportedException: pop.20.04-x64 [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.RuntimeIdMap.GetNativeLibraryDirectoryName(String runtimeIdentifier) [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.GitLoaderContext.GetNativeLibraryDirectory() [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.GitLoaderContext.LoadUnmanagedDll(String unmanagedDllName) [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at System.Runtime.Loader.AssemblyLoadContext.ResolveUnmanagedDll(String unmanagedDllName, IntPtr gchManagedAssemblyLoadContext) [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods.git_libgit2_init() [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods.InitializeNativeLibrary() [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods..cctor() [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    --- End of inner exception stack trace --- [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.NativeMethods.git_libgit2_opts(Int32 option, UInt32 level, String path) [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.Core.Proxy.git_libgit2_opts_set_search_path(ConfigurationLevel level, String path) [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at LibGit2Sharp.GlobalSettings.SetConfigSearchPaths(ConfigurationLevel level, String[] paths) [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.GitExtensions.OpenGitRepo(String pathUnderGitRepo, Boolean useDefaultConfigSearchPaths) [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.VersionOracle.Create(String projectDirectory, String gitRepoDirectory, ICloudBuild cloudBuild, Nullable`1 overrideBuildNumberOffset, String projectPathRelativeToGitRepoRoot) [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
/home/bradwilson/.nuget/packages/nerdbank.gitversioning/3.1.91/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018:    at Nerdbank.GitVersioning.Tasks.GetBuildVersion.ExecuteInner() [/home/bradwilson/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]

Note that unlike the recent 18.04 issue, this is not related to Omnisharp; this fails with dotnet build as well.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:38 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
bordingcommented, May 31, 2020

@bording, is there any way to improve libgit2sharp’s ability to load native dll’s on mono so that it varies by RID?

I’m not sure that there is. Mono doesn’t understand RIDs at all, just the dll.config mechanism, and that is very limited in what it can support.

Linux also doesn’t let you alter the load path after a process is started, so there’s no way I know of to influence where mono is looking when it finds DllImport attributes,

The only way I’m currently aware of to “fix” this is for the managed implementation work to get done, which should mean we only have a single native binary to point to per architecture, so I think the dll.config can work.

Though, it’s sill likely to be an issue for Alpine since it doesn’t use libc.

1reaction
AArnottcommented, May 31, 2020

I can repro the omnisharp failure. Thinking more about this, maybe it has nothing to do with RIDs, and everything to do with the libgit2sharp.dll.config file. Mono uses this file (which .NET and .NET Core ignore) to find native dependencies, so there’s no RID map. It can only point to just the one dll, at the path specified in that file.

I just tested this theory. I changed LibGit2Sharp.dll.config on the Pop!_OS machine’s nuget package cache so that the target= attribute is set to ../runtimes/ubuntu.18.04-x64/native/libgit2-106a5f2.so and omnisharp suddenly started working.

@bording, is there any way to improve libgit2sharp’s ability to load native dll’s on mono so that it varies by RID?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Couldn't install PopOS 20.04 : r/pop_os
This looks like you booted your USB in Legacy mode, attempting to install in a UEFI system (gpt disk). Go to your bios,...
Read more >
Upgrade Pop!_OS
Upgrading Pop!_OS to 22.04 from 20.04 or 21.10 · Click the Download button and the download will begin. Once the download is complete,...
Read more >
Pop-OS launcher not working on Ubuntu 20.04 #1302
When installing pop-shell from source in a fresh Ubuntu 20.04 install, the launcher doesn't show running applications and doesn't show any of ...
Read more >
Package Manager Issues (Pop!_OS)
Here are ways to fix update, upgrade, and other package manager issues.
Read more >
PopOS not supported · Issue #924 · nodesource/distributions
Hello, PopOS 19.10 is not supported, but should be because it's Ubuntu 19.10 just with some additional stuff and drivers.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found