Open mgkcorty opened 2 months ago
Unfortunately, I'm not aware of any way to internalize the glibc dependency. It's pretty much the foundational dependency.
When building the native binaries for LibGit2Sharp, I'm limited by what Linux distros I have available via containers to pick which one I use to build them. That is what is determining what version of glibc is required.
When looking for a which Linux distros and versions that LibGitS2Sharp will work with, you'll want to stick with the official Microsoft Supported OS versions.
I've tried to ensure that the native binaries will work with all of the currently supported versions, and have a pretty comprehensive test matrix that verifies that.
@bording Thank you for your response; I understand what our problem is.
Still, if we try to tackle this issue, what would you recommend in our case? Our machine is running Astra Linux 1.6 with "GLIBC_2.24" installed.
It seems that older versions of LibGit2Sharp might work, but we would prefer not to downgrade.
Should we consider creating our own custom build of LibGit2Sharp (possibly needing to rebuild LibGit2Sharp.NativeBinaries and libGit2 using GLIBC_2.24)? What are the chances of success?
Also, what would happen if, instead of creating custom builds of libGit2, we try to point it to a GLIBC_2.25 version that we place alongside it?
The issue is relevant; if anyone has encountered something similar, please share some ideas.
Hi!
I test my LibGit2Sharp application on old Linux platform and stuck with error, after some research i execute
ldd
command inside terminal:ldd libgit2-a418d9d.so
Output: _version GLIBC2.25' not found (required by /usr/lib/versioncontrol/libgit2-a418d9d.so)
It seems that this is the real cause of the load DLL error.
How can I embed this dependency directly into the application so that it doesn't try to look for it in the system? Currently, GLIBC_2.24 is installed on the machine. Updating GLIBC to a newer version, like 2.25, is not possible due to company policies.
Reproduction steps
Start application and execute "pull" command through LibGit2Sharp.
Expected behavior
Execute of "pull" command successfully finished.
Actual behavior
Error on application "Pull" command: The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception. InnerException = {"Unable to load DLL 'git2-a418d9d' or one of its dependencies: }
Version of LibGit2Sharp (release number or SHA1)
0.30.0
Operating system(s) tested; .NET runtime tested
Astra Linux 1.6