This file lists some common build errors and their solutions.


Error starting remote
---------------------

If you have an error like this:

----
Error: Error starting remote:
could not synchronise with container process: no subsystem for mount
----

You may be experiencing a similar but different problem. Anecdotally
this occured on Ubuntu 18.04 Bionic, kernel 4.15.0-24-generic. You need
to add systemd.legacy_systemd_cgroup_controller=1 to the kernel
boot commandline in /etc/default/grub (followed by `sudo update-grub`).


Error during debootstrap image creation
---------------------------------------

If the debootstrap-image-.log contains errors similar to the following:
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/zesty/InRelease
   Temporary failure resolving 'archive.ubuntu.com'

Check /etc/resolv.conf on the host to see if the nameserver is set to
127.0.0.1. This can happen when runc performs a bind mount of
/etc/resolv.conf and the host system is running systemd-resolved.

sudo systemctl disable systemd-resolved.service
sudo service systemd-resolved stop

Put the following line in the [main] section of your
/etc/NetworkManager/NetworkManager.conf:

dns=default

Delete the symlink /etc/resolv.conf

rm /etc/resolv.conf

Restart network-manager

sudo service network-manager restart


Could not find uid in /etc/subuid
---------------------------------

In some cases you can have the error:

  Error: Error starting remote:
  Error: Could not find uid in /etc/subuid
  Error: failed to set uidmap

The user you use to build needs to have a range of subordinate uids and
gids in /etc/subuid and /etc/subgid. Most of the time they are added by
default when the user is created. If it was not the case, you can use
usermod(8) with the --add-subuids and --add-subgids options. See also
the subuid(5) and subgid(5) man pages.

Note that the root user is not exempted from the requirement for a
valid /etc/subuid and /etc/subgid entry, if you are building as root.
