小ネタなのであっさりで.
問題
WSLのubuntu18.04に,ROS Melodicを導入する際,いつもどおりmelodic/Installation/Ubuntu - ROS Wikiを参考に進めるが, 「1.3 Set up your keys」で,
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
を実行すると,
Executing: /tmp/apt-key-gpghome.cb5k8GtOFh/gpg.1.sh --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 gpg: connecting dirmngr at '/tmp/apt-key-gpghome.cb5k8GtOFh/S.dirmngr' failed: IPC connect call failed gpg: keyserver receive failed: No dirmngr
というように失敗する.そしてそのまま「1.4 Installation」へ進んでもROSはインストールできない.
「If you experience issues connecting to the keyserver, you can try substituting hkp://pgp.mit.edu:80 or hkp://keyserver.ubuntu.com:80 in the previous command.」と書いているが,
keyserver を変更しても,この問題は解決しない.
解決策
下記を実行する.
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
レスポンスは以下のような感じ.
--2018-12-11 02:17:39-- http://packages.ros.org/ros.key Resolving packages.ros.org (packages.ros.org)... 64.50.233.100, 140.211.166.134, 64.50.236.52 Connecting to packages.ros.org (packages.ros.org)|64.50.233.100|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1162 (1.1K) Saving to: ‘STDOUT’ - 100%[=========================================================================>] 1.13K --.-KB/s in 0s 2018-12-11 02:17:40 (31.7 MB/s) - written to stdout [1162/1162] OK
その後,「1.4 Installation」へ進んで,
$ sudo apt update Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease Get:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Get:3 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB] Get:4 http://packages.ros.org/ros/ubuntu bionic InRelease [4031 B] Get:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:6 http://packages.ros.org/ros/ubuntu bionic/main amd64 Packages [335 kB] Get:7 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [455 kB] Fetched 1041 kB in 5s (217 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 115 packages can be upgraded. Run 'apt list --upgradable' to see them.
$ sudo apt install ros-melodic-desktop-full Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: adwaita-icon-theme at-spi2-core autoconf automake autopoint autotools-dev avahi-daemon binfmt-support blt bzip2-doc cmake [snip]
と,インストールを始められる.
原因
WSLのubuntu18.04でgpgのバグが治っていないらしい...
(gpgがなにかは詳しく知らない...勉強しよ...)
参考
https://github.com/Microsoft/WSL/issues/3286
https://answers.ros.org/question/307024/win10-wsl-problems-installing-ros-on-ubuntu-1804/