I am trying to install ROS on a windows 10 system (version 1803) following the instructions at http://www.ros.org/ and alternately https://janbernloehr.de/2017/06/10/ros-windows help which I reached from http://wiki.ros.org/Installation/Windows.
I have made sure that WSL is turned on. I installed the latest Ubuntu from: https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6#activetab=pivot:overviewtab
The following gives the ubuntu release information (I do not know what it means that “No LSB modules are available” but have included it for completeness).
karl@DESKTOP-H1L55EN:/mnt/c/Users/Karl$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
One thing to note from Jan’s version, he does not show configuring a Ubuntu repository. Once he gets a modern version of WSL going, he goes straight to setting up the sources list and keys. This is important to note because, for me, configuring my Ubuntu repository (from the suggested source:
https://help.ubuntu.com/community/Repositories/Ubuntu which leads to https://help.ubuntu.com/community/AptGet/Offline/Repository )
is far more complicated than all the rest of the installation steps combined, i.e., I’d love to skip it as well.
From: https://answers.ros.org/question/190100/indigo-on-ubuntu1404-problempoint-13-set-up-your-keys-means/ I gather that I don’t really need to set up the keys to continue the installation process. However, I get errors if I try the follow-on steps (which I’ll show later on). So, I thought I should try to get the repository configured before I continued (in case that is causing any or all of the downstream problems).
I downloaded all the suggested repository files with the following caveat. The instructions call for Packages.bz2 , Packages.gz, and Release from the main, multiverse, restricted, and universe components for the needed architecture (amd64) to be placed in the appropriate directories on my machine. Each of the locations had two of those files, but no packages.bz2. They did each have packages.xz. So, I downloaded them instead. So, now I have the following in folders in my … dists/bionics directory.
karl@DESKTOP-H1L55EN:/home/repository/dists/bionic$ dir
Contents-amd64.gz Release Release.gpg main multiverse restricted universe
karl@DESKTOP-H1L55EN:/home/repository/dists/bionic$.
And main (as well as multiverse, restricted, and universe) each look like the following:
karl@DESKTOP-H1L55EN:/home/repository/dists/bionic/main$ dir
Packages.gz Packages.xz Release
The next step (Add the local repository in your sources list) was not clear to me.
From: https://help.ubuntu.com/community/Repositories/CommandLine It would appear that my /etc/apt/sources.list should have lines that look like the following.
deb http://us.archive.ubuntu.com/ubuntu/ saucy universe
deb-src http://us.archive.ubuntu.com/ubuntu/ saucy universe
deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe
where bionic should be substituted for saucy.
The following uncommented lines are in my sources.list
deb http://archive.ubuntu.com/ubuntu/ bionic main restricted
deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ bionic universe
deb http://archive.ubuntu.com/ubuntu/ bionic-updates universe
deb http://archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://archive.ubuntu.com/ubuntu/ bionic-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted
deb http://security.ubuntu.com/ubuntu/ bionic-security universe
deb http://security.ubuntu.com/ubuntu/ bionic-security multiverse
I assume that I don’t need any deb-src
(just working from binaries). I see that the ones in the example have us. archive... and mine do not. But, I don’t know enough to know if that matters.
sudo apt-get
update gets me the following lines:
Get:1 http://packages.ros.org/ros/ubuntu bionic InRelease [4031 B]
Err:1 http://packages.ros.org/ros/ubuntu bionic InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5523BAEEB01FA116
Reading package lists... Done
W: GPG error: http://packages.ros.org/ros/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5523BAEEB01FA116
E: The repository 'http://packages.ros.org/ros/ubuntu bionic InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
As suggested, I read the man page and decided to try it with the --allow-unauthenticated
option and got the following:
Get:1 http://packages.ros.org/ros/ubuntu bionic InRelease [4031 B]
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Err:1 http://packages.ros.org/ros/ubuntu bionic InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5523BAEEB01FA116
Get:6 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [185 kB]
Get:7 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [89.8 kB]
Get:8 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [48.7 kB]
Get:9 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [413 kB]
Get:10 http://archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [153 kB]
Get:11 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [567 kB]
Get:12 http://archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [149 kB]
Reading package lists... Done
W: GPG error: http://packages.ros.org/ros/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5523BAEEB01FA116
E: The repository 'http://packages.ros.org/ros/ubuntu bionic InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
If it is clear that I have messed up already (and that this is what will cause nothing to work quite right after step 1.2, then please don’t bother with the rest. If all of the above is a red herring, please read on.
I don’t know a test to see if the repository is properly configured. So, I moved on to the ROS installation step 1.2. Running:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
gives me no feedback, including no errors. So, it is on to step 1.3.
Step 1.3 (Set up your keys) wants me to enter:
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
Which gives me:
karl@DESKTOP-H1L55EN:/mnt/c/Users/Karl$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
[sudo] password for karl:
Executing: /tmp/apt-key-gpghome.XFGOVLcd9n/gpg.1.sh --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.XFGOVLcd9n/S.dirmngr' failed: IPC connect call failed
gpg: keyserver receive failed: No dirmngr
It does not seem to matter whether I get my command line from bash in a command prompt or starting a ubuntu window. And I tried each of the other suggested servers. Doing an ls –a on the /tmp directory shows an empty directory.
The instructions for setting up my keys appears to be identical for Melodic, Lunar, and Kinetic. So, I am assuming this is not an ROS version issue (I am shooting for Melodic, as that is indicated for ubuntu – 18.04).
From what I can tell, dirmngr comes with Windows 10.
Running
$ sudo apt-get install dirmngr --install-recommends
Outputs:
karl@DESKTOP-H1L55EN:/mnt/c/Users/Karl$ sudo apt-get install dirmngr --install-recommends
Reading package lists... Done
Building dependency tree
Reading state information... Done
dirmngr is already the newest version (2.2.4-1ubuntu1.1).
The following package was automatically installed and is no longer required:
libfreetype6
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Which I interpret as “it is already installed just fine.”
I have searched ROS questions with: no dirmngr
, install problem windows
and Set up your keys
(this one showed some relevant responses, but did not include my error message).
I have searched the net and found sources talking about “adv” being deprecated. One suggested that changing it to “add” fixes the problem. It did not for me. These sources also talk about it being related to ubuntu 18.04 and a problem with that version timing out because of an error.
Step 1.4 suggests:
sudo apt-get update
Which gives the same basic result as above. So I went ahead and tried installing the ros-melodi-desktop-full
.
sudo apt-get install ros-melodic-desktop-full
This gave me the following results:
karl@DESKTOP-H1L55EN:/etc/apt$ sudo apt-get install ros-melodic-desktop-full
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ros-melodic-desktop-full
So, with one long trail of things not going quite like it should be, I am stumped and would sure appreciate some help.
Edit: following @gvdhoorn’s suggestion, I reinstalled my Ubuntu and repeated the step of configuring the repository. I used the same route as I described above. But, this time I interpreted what they were saying differently and simply ran apt-get update. I interpret the following to mean that I have successfully completed that step.
karl@DESKTOP-H1L55EN:/etc/apt/sources.list.d$ sudo apt-get update
[sudo] password for karl:
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:5 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [8570 kB]
Get:6 http://archive.ubuntu.com/ubuntu bionic/universe Translation-en [4941 kB]
Get:7 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [151 kB]
Get:8 http://archive.ubuntu.com/ubuntu bionic/multiverse Translation-en [108 kB]
Get:9 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [415 kB]
Get:10 http://archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [155 kB]
Get:11 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [7028 B]
Get:12 http://archive.ubuntu.com/ubuntu bionic-updates/restricted Translation-en [3076 B]
Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [570 kB]
Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [151 kB]
Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [5708 B]
Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse Translation-en [3176 B]
Get:17 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [187 kB]
Get:18 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [72.7 kB]
Get:19 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [91.5 kB]
Get:20 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [50.3 kB]
Get:21 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [1440 B]
Get:22 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [996 B]
Get:23 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [2852 B]
Get:24 http://archive.ubuntu.com/ubuntu bionic-backports/universe Translation-en [1200 B]
Fetched 15.7 MB in 26s (604 kB/s)
Reading package lists... Done
So, I went on to setting up my source list (step 1.2). I interpret the lack of any output to mean success.
karl@DESKTOP-H1L55EN:/etc/apt/sources.list.d$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
So, I tried setting up the keys (step 1.3). The result is essentially the same error I was seeing. As is the case for each of the remaining steps.
karl@DESKTOP-H1L55EN:/etc/apt/sources.list.d$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
Executing: /tmp/apt-key-gpghome.dpaoW7LKHw/gpg.1.sh --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.dpaoW7LKHw/S.dirmngr' failed: IPC connect call failed
gpg: keyserver receive failed: No dirmngr
karl@DESKTOP-H1L55EN:/etc/apt/sources.list.d$ sudo apt update
Get:1 http://packages.ros.org/ros/ubuntu bionic InRelease [4031 B]
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
Err:1 http://packages.ros.org/ros/ubuntu bionic InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5523BAEEB01FA116
Reading package lists... Done
W: GPG error: http://packages.ros.org/ros/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5523BAEEB01FA116
E: The repository 'http://packages.ros.org/ros/ubuntu bionic InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
karl@DESKTOP-H1L55EN:/etc/apt/sources.list.d$ sudo apt install ros-melodic-desktop-full
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ros-melodic-desktop-full
karl@DESKTOP-H1L55EN:/etc/apt/sources.list.d$
I then went back and tried the following two additional suggested servers for setting up the keys
hkp://pgp.mit.edu:80
hkp://keyserver.ubuntu.com:80
and got the same results as above.
As mentioned originally, it is not clear that I need to get the keys set up. But, it seems like the place to start on figuring out why it can't find ros-melodic-desktop-full.
This last part is where I followed the accepted answer.
karl@DESKTOP-H1L55EN:/etc/apt/sources.list.d$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
--2018-10-30 08:44:31-- http://packages.ros.org/ros.key
Resolving packages.ros.org (packages.ros.org)... [sudo] password for karl: 64.50.236.52, 140.211.166.134, 64.50.233.100, ...
Connecting to packages.ros.org (packages.ros.org)|64.50.236.52|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1162 (1.1K)
Saving to: ‘STDOUT’
- 100%[=================================================>] 1.13K --.-KB/s in 0s
2018-10-30 08:44:31 (46.2 MB/s) - written to stdout [1162/1162]
OK
karl@DESKTOP-H1L55EN:/etc/apt/sources.list.d$ sudo apt update
Get:1 http://packages.ros.org/ros/ubuntu bionic InRelease [4031 B]
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
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 [323 kB]
Get:7 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [416 kB]
Get:8 http://archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [155 kB]
Get:9 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [570 kB]
Fetched 1715 kB in 25s (69.6 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
87 packages can be upgraded. Run 'apt list --upgradable' to see them.
karl@DESKTOP-H1L55EN:/etc/apt/sources.list.d$ 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:
And then a whole lot of lines as ROS successfully installed (Whoo hoo!).
Originally posted by SlopeSurfer on ROS Answers with karma: 3 on 2018-10-29
Post score: 0
Original comments
Comment by gvdhoorn on 2018-10-29:
Can you please fix the formatting of your question?
+100 for using Preformatted Text for all the console output and config files, but for the rest of the text it's not needed and makes things hard to read.
Comment by gvdhoorn on 2018-10-29:
And a first comment: I don't know what you are doing exactly with the dists/bionic/main
steps, but that should all not be needed. You can treat 18.04 on WSL as a regular Ubuntu, and you wouldn't do that on a "real Linux" system either.
Comment by gvdhoorn on 2018-10-29:
I would suggest:
- remove everything you've done earlier
- reinstall 18.04 from the MS store
- follow the regular Ubuntu Bionic ROS install instructions (
apt
)
Everything should work as normal. The blog post is nice, but there is nothing special to Win10/WSL (apart from the X-server bits).
Comment by gvdhoorn on 2018-10-29:
To edit your question, press the edit
button/link right below the question text (a bit to the right of the big "Comments" heading).
Comment by SlopeSurfer on 2018-10-29:
Thank you for the persistence on the editing. From your first suggestion, I tried hitting the edit button that was next to the question, not realizing that would only edit the question. From your last suggestion I found the edit button at the bottom.
Comment by SlopeSurfer on 2018-10-29:
Unless I am mistaken, the regular Ubuntu Bionic ROS installation steps say to set up the repository. It does not say how, but has a link, which is where I start to get bogged down (that is what the dist/bionic/main stuff is about) Big question: Do I need to set up a repository?
Comment by gvdhoorn on 2018-10-29:\
Do I need to set up a repository?
No.
the regular Ubuntu Bionic ROS installation steps say to set up the repository
yes, and that means adding an apt
source to your local configuration. Which you do by following the steps in the Setup your sources.list section of the install doc.
Comment by gvdhoorn on 2018-10-29:\
It does not say how, but has a link, which is where I start to get bogged down
the context for that link is:
Configure your Ubuntu repositories to allow "restricted," "universe," and "multiverse."
So you only follow the sections on the Canonical page that tell you how to do that.
Comment by gvdhoorn on 2018-10-29:
But you probably don't need to do that. Just follow the regular install instructions and if -- after setting everything up -- some packages don't want to install, then it may make sense to look at the section about enabling Universe again.
Comment by SlopeSurfer on 2018-10-29:
I did not see your last suggestion until I had reinstalled Ubuntu and reinterpreted the suggestions for configuring the repository. I think that fixed the repository issue. Thank you. I then appended my question with the results of that and the rest of the steps, which are still coming up short.
Comment by SlopeSurfer on 2018-10-29:
BTW, I did not know if would be good form to append the question, overwrite the question with just this latest stuff, or start a new question. I don't think that there is much for anyone else to learn about configuring the repository from my earlier foible and would be happy to delete all that.
Comment by gvdhoorn on 2018-10-30:
Never delete anything. Posts on this forum will be read by future visitors, which will have a hard time figuring out what the chronology of everything is if you start deleting sections / previous versions.
Just append something like this to your question text and update:
Edit: ...