Link Search Menu Expand Document

Known Issues

These are the known issues with the Sailfish SDK. If you have any questions, feel free to either write it up in https://forum.sailfishos.org/ or send an e-mail to developer-care at jolla.com. We’ll get back to you as soon as possible. Please review also the Release notes for the SDK release.

Installer / Uninstaller

  • If you want to reinstall the SDK to another location it is recommended to first remove SDK installation and then manually delete the config file directory (in Linux and macOS it’s in $HOME/.config/SailfishSDK, in Windows this is not necessary anymore) and then reinstall SDK.
  • When uninstalling – SDKMaintenanceTool might show a dialog of some certain directories not being empty. This is OK and can be bypassed by selecting ‘Ignore’.
  • If your /home dir has free space but / (root dir) does not then installer will complain. Solution: pre-create the destination directory and the installer will continue or if that does not work, additionally set the environment value TMPDIR to a path that has enough space.
  • If installing Sailfish SDK into /opt doesn’t work then please install to /home/$USER/Sailfish OS.
  • On macOS and Windows the automatic check for updates may fail randomly due to an error in Qt Installer Framework. It is possible to start updater manually from menu Help in Sailfish IDE.
  • The Installer and SDK Maintenance Tool is not HTTPS-capable on Windows

Sailfish IDE (Qt Creator)

  • Sailfish IDE might show a kit called “Desktop”. It cannot be used to create Sailfish OS applications and you should not select it when configuring Sailfish OS projects.
  • When launching applications from the toolbar or using ctrl+R, it is possible to launch multiple instances of an application which need terminating from the Home screen.
  • SDK cannot be installed to a path with whitespace. Projects cannot be created to paths with whitespace.
  • In macOS /tmp directory cannot be used as alternate source directory.
  • Various warnings are produced by the QML static code checker for Sailfish.Silica types with the build targets matching a few Sailfish OS releases prior to 4.4.0.58, like Could not resolve the prototype "SilicaItem" of "PageHeader". (M301)
  • The Amber.Mpris QML module is not initially recognized by the IDE (SDK 3.9)
    • This can be fixed by installing the amber-qml-plugin-mpris package under build targets using Options > Sailfish OS > Build Engine > Manage Build Targets… > Manage Packages
  • Sailfish IDE may not find header files from packages added as dependencies via PKGCONFIG qmake variable.
    • This is often caused by “qmake system() behavior when parsing” option under Build Settings set to “Ignore”. See the next item to learn about the drawbacks before changing it to “Run”. (SDK 3.9+)
  • Qmake’s system() function is ignored by the project parser under the default configuration.
    • This is controlled by the “qmake system() behavior when parsing” option under Build Settings. (SDK 3.9+)
    • It is ignored by default because it runs directly on host, not under the build environment as one would expect.

SDK CLI (sfdk)

  • sfdk tools list --available hangs when SDK updates are available
  • Suspending under terminal (^Z) is not always possible
  • Not possible to run multiple builds simultaneously due to conflicts in package creation phase
  • sfdk called from a shell script under Windows/MSYS2 with the help of the exec shell built-in fails with the following error: [D] SOFT ASSERT: "parentPidIt != parentPids.constEnd()" in file ...\session.cpp, line 279

Sailfish SDK Build Engine

  • Timeout errors when connecting to the Build Engine
    Some users may experience random connection timeout errors when building and/or deploying applications from Sailfish IDE. This can for example happen in an environment where your computer has no Internet connection or changes WiFi station during the day.

    It may be possible to fix this condition by adding the name SailfishSDK to your computer’s hosts file, e.g.:

    127.0.0.1 localhost.localdomain localhost SailfishSDK
    
  • Issues with Docker-based build engine

    • Old sailfish-sdk-build-engine images keep piling up (see this from the FAQ)
    • Failure to deploy from docker based build engine to emulator with customized SSH port
    • Sailfish IDE needs restart after changing SSH port of a Docker based build engine
    • Error starting the build engine on Linux hosts with cgroups v2
      • It is usually possible to revert back to cgroups v1 by adding systemd.unified_cgroup_hierarchy=false to the host kernel command line
    • On some systems package manager gets stuck or crashes due to unreasonably high file descriptor limit and builds will not get past initialization phase. You may stop build engine with sfdk engine stop and then use this workaround:

      sfdk engine exec sudo tee /etc/security/limits.d/95-nofile-sdk-fix.conf <<END
      # This is a workaround for issues with package manager
      * hard nofile 4096
      root hard nofile 4096
      END
      

Sailfish OS Emulator

  • If the Emulator fails to boot to user interface, the reason might be disabled virtualization technology settings in host computer’s BIOS. By turning on virtualization technology settings from BIOS, the emulator should boot up to user interface.
  • Emulator may display a banner about Charging status when starting up. It can be dismissed by clicking on it. Emulator follows the battery status of the host computer.
  • Emulator might start flickering on slow computers.
  • Timeout problems connecting to emulator
  • Application covers near to the left/right screen edge are rendered incorrectly when emulator is running in landscape mode - part of the cover is darker.

Debugging

  • GDB may crash occasionally when stepping into code.
  • In order to maintain compatibility with older Linux distributions, Sailfish SDK links to this library, which is usually not installed by default on more recent distributions:
    • On Ubuntu 20.04, the package libtinfo5 must be installed
    • On Fedora the package ncurses-compat-libs must be installed
    • If you find no way to fix libtinfo.so.5 on your system, you may try creating it as a symbolic link to your system libncurses.so.5 (or even libncurses.so.6 or libtinfo.so.6)

General / Other

  • Microsoft Hyper-V is incompatible with Virtualbox (Virtualbox ticket 16801). Please, check that it’s disabled in Windows Features before starting the Emulator or the Build Engine. This is a known issue especially with Windows 10.
  • If you need to set a proxy to connect to the Internet, connections from the Emulator are known to fail. Proxy settings for the Build Engine can be configured inside Sailfish IDE, under Options > Sailfish OS > Build Engine.
  • The rpmlint validation suite is unusable with 4.3.0.12 build targets. It fails with error “No such file or directory”. If you wish to use rpmlint validation suite, you can fix the tooling by issuing the following command:

    sfdk tools exec SailfishOS-4.3.0.12 zypper in gnu-cpio
    

    When prompted, select Solution 1.