microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.34k stars 814 forks source link

WSL Ubuntu 20.04 - gpg: can't connect to the agent: IPC connect call failed #5125

Closed dawsonc623 closed 4 years ago

dawsonc623 commented 4 years ago

I have a fresh installation of Windows 10, and I am trying to get a development environment with WSL set up. I enabled WSL and installed Ubuntu from the Microsoft Store. Everything went smoothly in that process. Then, I tried to go through the steps to install Yarn here.

When I try to run the first line (curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -), I get the error in the title:

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
gpg: can't connect to the agent: IPC connect call failed

I have looked up this error, and there were a few suggestions related to gpg-agent that I tried, such as manually starting the agent and creating/deleting certain configuration files related to gpg. Everything I tried resulted in the same error above. I am at a loss for what to try next. Has anyone else seen and fixed this issue?

ghost commented 4 years ago

Just for the record, since that's the first google finds when searching for the issue: You don't need to fiddle with your clib or even downgrade to gpg1, the only thing needed to make it work is an environment-Variable, which is best to set by appending these Lines to your shell-Initialisation (~/.bashrc on a default-wsl-ubuntu install):

GPG_TTY=$(tty)
export GPG_TTY

See man gpg-agent in your Linux for an explanation.

EDIT: forgot to say why I still write this, since wsl 2 also fixes the Issue: You can't use wsl 2 on arm64 devices at the moment, ther seems to be a showstopper for the new release for this architecture. __ s.

wscatao commented 4 years ago

How to fix this issue until Microsoft releases the fix via Windows Update. Solution by @rafaeldtinoco:

sudo add-apt-repository ppa:rafaeldtinoco/lp1871129
sudo apt update
sudo apt install libc6=2.31-0ubuntu8+lp1871129~1 -y
sudo apt-mark hold libc6

Worked nice! Thinks.

APradyut commented 4 years ago

Guys, so what do I do if I have 18363 (WSL 1)build only and I need to use gpg? If I use Ubuntu 18.04 instead of 20.04 will it help? Or the only thing is a hack that is described above (by @rafaeldtinoco)

Try installing gnupg1, it works for me :)

sudo apt-get remove gpg
sudo apt-get install gnupg1

Source: MicrosoftDocs/WSL#662 (comment)

This works for me

sithmal commented 4 years ago

@onomatopellan in case if build-essential is installed it should be:

sudo add-apt-repository ppa:rafaeldtinoco/lp1871129
sudo apt update
sudo apt install libc6=2.31-0ubuntu8+lp1871129~1 libc6-dev=2.31-0ubuntu8+lp1871129~1 libc-dev-bin=2.31-0ubuntu8+lp1871129~1 -y --allow-downgrades
sudo apt-mark hold libc6

to avoid g++ removal.

But otherwise it works fine, thanks to you and @rafaeldtinoco.

Thanks this works for me.

pmdpaula commented 4 years ago

Guys, so what do I do if I have 18363 (WSL 1)build only and I need to use gpg? If I use Ubuntu 18.04 instead of 20.04 will it help? Or the only thing is a hack that is described above (by @rafaeldtinoco)

Try installing gnupg1, it works for me :)

sudo apt-get remove gpg
sudo apt-get install gnupg1

Source: MicrosoftDocs/WSL#662 (comment)

Best sollution. Simple. Works for me in Windows build 2004 WSL2 and Ubuntu 20.04

janba12 commented 4 years ago

Still having the same issue after try every "solution here" any other suggest? WSL2 ubuntu v20.04

uberhacker commented 4 years ago

@janba12: https://github.com/microsoft/WSL/issues/5125#issuecomment-631804986 worked for me. You might try this:

sudo apt remove gpg
sudo apt autoremove --purge -y
sudo apt install gnupg1
onomatopellan commented 4 years ago

@janba12 What's the output of wsl.exe -l -v ?

KevinBurton commented 4 years ago

I run into the same issue in trying to install v14 of Nodejs following the steps outlined in this article. It seems that the nodesource_setup.sh script that is downoaded reverses the workaround steps

sudo apt-get remove gpg
sudo apt-get install gnupg1

and fails with the same error. Here is version info for me

PS C:\Users\RKevi> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Stopped         1
  docker-desktop-data    Running         2
onomatopellan commented 4 years ago

@KevinBurton Your Ubuntu distro is still WSL1. You need to convert it to WSL2 with wsl.exe --set-version Ubuntu 2 After that issues like the one in this thread should not happen anymore.

expatjedi commented 4 years ago

Don't mess up your system by installing / disabling extra programs, just follow the inctructions carefully on micosoft's website. It takes only 5 minutes to apply.

https://docs.microsoft.com/en-us/windows/wsl/install-win10

janba12 commented 4 years ago

The issue i had happened because i was instaling "ubuntu" from Microsoft Store. i just uninstall that one and get Ubuntu 20.04 LTS , that fixed all the issues. thanks for your answers

sgarcia-dev commented 4 years ago

@janba12: #5125 (comment) worked for me. You might try this:

sudo apt remove gpg
sudo apt autoremove --purge -y
sudo apt install gnupg1

Thank you! That was much simpler than some of the solutions above, and it worked for me when installing Yarn

NBSOD commented 4 years ago

How to fix this issue until Microsoft releases the fix via Windows Update. Solution by @rafaeldtinoco:

sudo add-apt-repository ppa:rafaeldtinoco/lp1871129
sudo apt update
sudo apt install libc6=2.31-0ubuntu8+lp1871129~1 -y
sudo apt-mark hold libc6

this is really good for me! ths!!!! windows 10 2004 , wsl1 Ubuntu 20.04

ghost commented 4 years ago

Ubuntu 20.04 sudo apt remove gpg sudo apt install gnupg1

pkiserver commented 4 years ago

Ubuntu 20.04 sudo apt remove gpg sudo apt install gnupg1

I was trying to run as follows: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

And was getting error: gpg: can't connect to the agent: IPC connect call failed

Ran the commands provided > sudo apt remove gpg

sudo apt install gnupg1 .. and after that the command worked, Thank you

maximelafarie commented 4 years ago

Don't mess up your system by installing / disabling extra programs, just follow the inctructions carefully on micosoft's website. It takes only 5 minutes to apply.

https://docs.microsoft.com/en-us/windows/wsl/install-win10

Works perfectly (and so true btw, just read the docs 😅) while neither other solution worked for me. Thank you so much! 🤘

So here are the commands that saved my day:

wsl --set-default-version 2
wsl --set-version Ubuntu 2
wsl --list --verbose

(last command is for checking that Ubuntu is using WSL2)

fkomaralp commented 4 years ago

On Windows 10 before the Windows preview. You are installed/enabled the WSL feature Install your Linux distribution of choice (Ubuntu 20.04 on my system) from Microsoft Store Register for Windows Insider program > https://insider.windows.com/en-us/ follow the getting-started document and do all things. Choose Preview channel. Update your system to the last Windows preview. After that update your system to latest Windows 10 preview. My latest update is 19041.423 Download a msi installer from https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel and install this "Linux kernel update package". Restart your Windows system. Open your Powershell as Administrator. Type wsl --set-version <Distro> 2

is your installed Linux distribution. If you dont know what you installed on your system. You can get installed distributions typing by this command `wsl --list` And you can get like these lines https://i.paste.pics/b5934bbe5881543abfa44b4cd5d5df44.png You can type you command like this `wsl --set-version Ubuntu-20.04 2` All after that you have WSL2 Linux distribution. Shortly if you want to use wsl command with `--set-default-version` `--set-version` options you need to have WSL2. WSL2 only supports Windows previews at this moments.
dimpu204 commented 4 years ago

I have a fresh installation of Windows 10, and I am trying to get a development environment with WSL set up. I enabled WSL and installed Ubuntu from the Microsoft Store. Everything went smoothly in that process. Then, I tried to go through the steps to install Yarn here.

When I try to run the first line (curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -), I get the error in the title:

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
gpg: can't connect to the agent: IPC connect call failed

I have looked up this error, and there were a few suggestions related to gpg-agent that I tried, such as manually starting the agent and creating/deleting certain configuration files related to gpg. Everything I tried resulted in the same error above. I am at a loss for what to try next. Has anyone else seen and fixed this issue?

do sudo apt remove gpg then sudo apt install gnupg1 it worked.

Kyle-Williamson-Dev commented 4 years ago

@onomatopellan in case if build-essential is installed it should be:

sudo add-apt-repository ppa:rafaeldtinoco/lp1871129
sudo apt update
sudo apt install libc6=2.31-0ubuntu8+lp1871129~1 libc6-dev=2.31-0ubuntu8+lp1871129~1 libc-dev-bin=2.31-0ubuntu8+lp1871129~1 -y --allow-downgrades
sudo apt-mark hold libc6

to avoid g++ removal.

But otherwise it works fine, thanks to you and @rafaeldtinoco.

This helped me immensely. I hadn't struggled for long. Once I saw the issue, I googled and luckily found this. It worked for me as now I've been able to install rails.

onomatopellan commented 4 years ago

Time to get rid of any workarounds. The fix for WSL1 in Windows 10 v2004 is finally here.

KB4571756 (OS Build 19041.508)

Now sleep in Ubuntu 20.04 WSL1 is working just fine.

therealkenc commented 4 years ago

Workaround discussions (to the extent anyone wants to continue them) can happen over in discussions.