Error during sdk installation

Trying to install Sailfish SDK version 3.7.4 on Ubuntu 20.04
During installation I’m selecting docker,
this is the error I’m getting:

Error during installation process (org.merproject.mersdk):
Execution failed (Unexpected exit code: 1): “/usr/bin/docker build --tag sailfish-sdk-build-engine /home/lolek/SailfishOS/mersdk”

There’s also this in the log:

Step 1/5 : FROM scratch

—>
Step 2/5 : ADD sailfish.tar /

failed to copy files: Error processing tar file(exit status 1): lchown /etc/mersdk: invalid argument

Sending build context to Docker daemon 4.661GB

Step 1/5 : FROM scratch

—>
Step 2/5 : ADD sailfish.tar /

failed to copy files: Error processing tar file(exit status 1): lchown /etc/mersdk: invalid argument

Any ideas?

Are you perhaps trying to use docker in rootless mode? Or perhaps really using podman instead of docker?

2 Likes

yes that’s it

– this text must be added so I can reach limit of minimum 20 characters –

Bump, do you maybe have any news regarding my situation?
I’ll repeat, yes I’m using docker in rootless mode.

No news to report. Docker is only supported in the normal “with root” mode.

2 Likes

Ok, I got it working with “normal docker” but it wasn’t straight forward.
Once I deleted all the SDK installation I started again and had problems getting project to work. Also the qtcreator was getting segfaults.
What helped was to wipe out SDK installation again and also the config which is inside of the

$HOME/.config/SailfishSDK

then install it again.
After that it seems it’s working properly.
Leaving it for others in case they’d have some problems.

1 Like

I got the same issue. Running the command manually and clicking Ignore in the wizard worked on my side.

Following @pherjung advice I also copied the command and ran it in a separate terminal. Unfortunately it fails:

sudo /usr/bin/docker build --tag sailfish-sdk-build-engine:sis /home/sis/experimente/SailfishOS/mersdk
[sudo] Passwort für sis: 
[+] Building 2.4s (5/5) FINISHED                                                                                                                                                                                            docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                                                                  0.1s
 => => transferring dockerfile: 622B                                                                                                                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                     0.1s
 => => transferring context: 2B                                                                                                                                                                                                       0.0s
 => [internal] load build context                                                                                                                                                                                                     1.2s
 => => transferring context: 189.59MB                                                                                                                                                                                                 1.1s
 => CACHED [1/2] ADD sailfish.tar.xz /                                                                                                                                                                                                0.0s
 => ERROR [2/2] RUN chown -R --from=mersdk "1000" /etc/mersdk /home/mersdk;     usermod -u "1000" mersdk                                                                                                                              0.8s
------                                                                                                                                                                                                                                     
 > [2/2] RUN chown -R --from=mersdk "1000" /etc/mersdk /home/mersdk;     usermod -u "1000" mersdk:                                                                                                                                         
0.181 runc run failed: unable to start container process: error during container init: error mounting "/var/lib/docker/buildkit/executor/resolv.conf" to rootfs at "/etc/resolv.conf": create mountpoint for /etc/resolv.conf mount: make mountpoint "/etc/resolv.conf": file exists
------
Dockerfile:4
--------------------
   2 |     ADD sailfish.tar.xz /
   3 |     LABEL SharedInstall="/home/sis/experimente/SailfishOS"       SharedHome="/home/sis"       SharedSrc="/home/sis/experimente/"       SharedTarget="/home/sis/experimente/SailfishOS/mersdk/targets"       SharedConfig="/home/sis/experimente/SailfishOS/vmshare"       SharedSsh="/home/sis/experimente/SailfishOS/mersdk/ssh"       SshPort="2222"       DBusPort="7777"
   4 | >>> RUN chown -R --from=mersdk "1000" /etc/mersdk /home/mersdk;     usermod -u "1000" mersdk
   5 |     CMD ["/bin/bash", "-c", "echo -e 'Setup incomplete. Refer to Sailfish SDK FAQ' >&2; exit 1", "-"]
   6 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c chown -R --from=mersdk \"1000\" /etc/mersdk /home/mersdk;     usermod -u \"1000\" mersdk" did not complete successfully: exit code: 1

Should I just “ignore”?

Before doing that you should figure out how to make docker not freak out because of the existing /etc/resolv.conf. And then you should run the failed chown command in the container. After that you can ignore.

I did install sdk two weeks ago on lin mint
Headless not supported is in the docs.
The first installation failed with some download issues. Uninstalled, deleted the sailfOS Folder, second try . Done.
Docker is way better then virtual box that i was using the last 10 years.

I ve felt a bit helpless with the link to official docker doc but how else do you want to keep that accurate.
And actually during docker install i had the download issue too.

It’s a symlink on my Kubuntu 22.04, maybe that’s the issue

stat /etc/resolv.conf 
  Datei: /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
 Größe: 39              Blöcke: 0          EA Block: 4096   symbolische Verknüpfung
Gerät: fc01h/64513d     Inode: 54264015    Verknüpfungen: 1
Zugriff: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Zugriff: 2025-12-13 10:06:00.717686794 +0100
Modifiziert: 2021-08-23 15:54:36.914069928 +0200
Geändert: 2021-08-23 15:54:36.914069928 +0200
Geburt: 2021-08-23 15:54:36.914069928 +0200

I get exactly the same error on my Kubuntu 24.04 (also having a symlink on resolv.conf). But when I try to re-run the docker buildcommand it fails due to missing Dockerfile. It seems that the SailfishSDK install removes the Dockerfile after installation, at least when I press the Ignore button.

Were you able to resolve the issue?

I found a similar issue for another build but being somewhat of a docker rookie I am not sure what to make of it. I don’t know how to remove the resolve.conf from the rootfs image which is what is suggested.

I was able to work around this eventually. It seems to be related to the new so called BuildKit in Docker.

I start the installation as recommended:

~/Downloads/SailfishSDK-3.12.5-linux64-online.run

And then when I reach the “Error during installation process (org.merproject.mersdk):”, I run from another shell:
DOCKER_BUILDKIT=0 docker build --tag sailfish-sdk-build-engine:<my_user> /home/<my_user>/SailfishOS/mersdk
By disabling the BuildKit it seems to work and the container is built.

Then I press “Ignore” in the install GUI to proceed with the installation process.

Update, it seems that BuildKit mounts files in /etc as read-only while the legacy builder allows read-write. Buildkit issue #3564.

2 Likes