microsoft / Git-Credential-Manager-for-Mac-and-Linux

Git Credential Manager for Mac and Linux stores credentials for Git version control securely. Provides secure logon for Visual Studio Team Services (visualstudio.com).
Other
406 stars 237 forks source link

"gnome-keyring library not loadedjava.lang.UnsatisfiedLinkError: Unable to load library 'gnome-keyring': Native library (linux-x86-64/libgnome-keyring.so) not found in resource path" on Azure notebook. #122

Open ghost opened 5 years ago

ghost commented 5 years ago

I tried to use this tool on Azure notebook for Azure AD MFA authentication. But failed because of missing of "gnome-keyring" Is it possible to use this tool on terminal terminal environment only(no GUI) ?


nbuser@nbserver:~/library/XXXXXXXX$ git fetch Configuration::loadGitConfiguration Configuration::ParseGitConfig Configuration::ParseGitConfig branch.master.merge = refs/heads/master branch.master.remote = origin branch.Mathplolib_add1and3.merge = refs/heads/Matplotlib_add1and3 branch.Mathplolib_add1and3.remote = origin core.bare = false core.filemode = false core.logallrefupdates = true core.repositoryformatversion = 0 core.symlinks = false credential.canFallBackToInsecureStore = false credential.helper = !/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Ddebug=true -Djava.net.useSystemProxies=true -jar /home/nbuser/library/git-credential-manager-2.0.4.jar remote.origin.fetch = +refs/heads/:refs/remotes/origin/ remote.origin.url = https://xxxxxxxx@dev.azure.com/xxxxxxxx/xxxxxxxxx/_git/XXXXXXXX Program::loadOperationArguments Configuration::tryGetEntry Configuration::tryGetEntry Configuration::tryGetEntry Configuration::tryGetEntry Configuration::tryGetEntry Configuration::tryGetEntry canFallBackToInsecureStore = false Program::EnableTraceLogging Program::get targetUri = https://dev.azure.com/ Program::ComponentFactory::createSecureStore gnome-keyring library not loadedjava.lang.UnsatisfiedLinkError: Unable to load library 'gnome-keyring': Native library (linux-x86-64/libgnome-keyring.so) not found in resource path ([file:/home/nbuser/library/git-credential-manager-2.0.4.jar]) gnome-keyring library not loadedjava.lang.NoClassDefFoundError: Could not initialize class com.microsoft.alm.storage.posix.internal.GnomeKeyringLibrary gnome-keyring library not loaded, return null for SCHEMA Getting a persistent token store that must be secure Fatal error encountered. Details: java.lang.RuntimeException: Secure credential storage is not available on this operating system. You may opt-in to store credentialsin an unencrypted file under your user home directory by running 'git config --global credential.canFallBackToInsecureStore true'. at com.microsoft.alm.gitcredentialmanager.Program$ComponentFactory.createSecureStore(Program.java:1192) at com.microsoft.alm.gitcredentialmanager.Program.initialize(Program.java:882) at com.microsoft.alm.gitcredentialmanager.Program.get(Program.java:292) at com.microsoft.alm.gitcredentialmanager.Program.access$200(Program.java:63) at com.microsoft.alm.gitcredentialmanager.Program$3.call(Program.java:284) at com.microsoft.alm.gitcredentialmanager.Program$3.call(Program.java:281) at com.microsoft.alm.gitcredentialmanager.Program.innerMain(Program.java:195) at com.microsoft.alm.gitcredentialmanager.Program.main(Program.java:123) fatal: credential helper '!/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Ddebug=true -Djava.net.useSystemProxies=true -jar /home/nbuser/library/git-credential-manager-2.0.4.jar' told us to

kirill-d-lappo commented 5 years ago

I am having the issue with installing the manager via rpm package. I ran git-credential-manager isntall just in case, which just updated credential.helper value with specific java version, but still have the issue.

tbodor commented 4 years ago

It appears you are missing the gnome keyring library. You can try to install it like this:

sudo apt-get install libgnome-keyring0

tseifried commented 4 years ago

Installing libgnome-keyring0 ( @tbodor ) is unfortunately not working anymore, since this package has been removed in Ubuntu 20.04. The same goes for Linux Mint. Its deprecated for 2 years now and its recommended to use libsecret instead. (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892359)

The underlying issue is actually caused by vsts-authentication-library-for-java: https://github.com/microsoft/vsts-authentication-library-for-java/issues/27

But since both projects have not been touched for more than 2 years, I am not sure if that ever gets fixed.