You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 GLIBC_2.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
The text was updated successfully, but these errors were encountered:
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?
Uh oh!
There was an error while loading. Please reload this page.
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 GLIBC_2.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
The text was updated successfully, but these errors were encountered: