Builds broken on Ubuntu 19.04
See original GitHub issueThe dependency on LibGit2Sharp brings in a binary dependency on an old and insecure version of libssl on Linux which is no available (because of the security vulnerabilities).
/home/brwilso/.nuget/packages/nerdbank.gitversioning/3.0.26/build/Nerdbank.GitVersioning.targets(63,5): error MSB4018: ---> System.DllNotFoundException: Unable to load shared library '/home/brwilso/.nuget/packages/nerdbank.gitversioning/3.0.26/build/MSBuildCore/../runtimes/linux-x64/native/libgit2-572e4d8.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libssl.so.1.0.0: cannot open shared object file: No such file or directory [/home/brwilso/dev/xunit/xunit/src/xunit.v3.assert/xunit.v3.assert.csproj]
Issue Analytics
- State:
- Created 4 years ago
- Comments:11
I’m also seeing this issue on my Alpine builds:
root/.nuget/packages/nerdbank.gitversioning/3.0.26/build/Nerdbank.GitVersioning.targets(63,5): error MSB4018: ---> System.DllNotFoundException: Unable to load shared library '/root/.nuget/packages/nerdbank.gitversioning/3.0.26/build/MSBuildCore/../runtimes/alpine-x64/native/libgit2-572e4d8.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: Error loading shared library libssl.so.1.0.0: No such file or directory (needed by /root/.nuget/packages/nerdbank.gitversioning/3.0.26/build/MSBuildCore/../runtimes/alpine-x64/native/libgit2-572e4d8.so)
I don’t think that the problem is on the native side. (Looking at the build logs, I do see
No error message was set by the native library
, or whatever that message is precisely. That’s the message that LibGit2Sharp sets whengit_error_last
returnsNULL
.)What’s actually happening is:
LibGit2Sharp calls libgit2 libgit2 calls back into LibGit2Sharp (the custom transport)
The custom transport is failing, but didn’t set an error message with libgit2 libgit2 just reports the failure back to LibGit2Sharp LibGit2Sharp queries libgit2 to get the error message, but LibGit2Sharp (the custom transport) itself didn’t set that error message.
Anyway, sans proxy and default credentials, this did work when it was using ye olde HTTP APIs. When I hurriedly moved it over to
HttpClientHandler
, I broke something.I’ll see if I can find some time to kick this a little bit further down the road.