Application SDK Known Issues

From SailfishOS Documentation

SDK Known Issues

These are the known issues with the Sailfish OS SDK. If you have any questions, feel free to send an email to our developer mailing list: devel@lists.sailfishos.org or write it up in http://together.jolla.com and tag your issue with ‘sdk’. We’ll get back to you as soon as possible. Please review the Release notes for this SDK release.


Installer / Uninstaller

  • In Windows 8 the installer tool (SDKMaintenanceTool.exe) should be started only from the directory containing Sailfish OS SDK. Invoking it from Control Panel -> Programs and Features might lead to erroneous behavior.
  • If you want to reinstall the SDK to another location you will need to first remove SDK installation and then manually delete the config file directory SailfishBeta8 (in Linux and Mac it’s in $HOME/.config/SailfishBeta8, 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’.
  • The installer does not handle all error conditions.
  • Virtual machines and Qt Creator must be shut down for the uninstaller to run cleanly.
  • If your /home dir has room and / (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 OS SDK into /opt doesn’t work then please install to /home/$USER/SailfishOS.
  • Some Ubuntu systems may report: “(SailfishOSSDK-linux-64-offline.run:24520): Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion `GTK_IS_WIDGET (widget)' failed“. In this case please run “export LIBOVERLAY_SCROLLBAR=0” before running the installer. If this does not help, try running the installer with option "-style motif".
  • On Mac 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 Qt Creator.

Qt Creator

  • When opening existing projects, answer ‘No’ if prompted of re-using existing settings and proceed to configure project with Sailfish* named kits.
  • Qt Creator 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.
  • Qt Creator 3 uses OpenGL rendering for some parts of its user interface, which might cause issues with virtualization for example.
  • If building and/or deployment fails with timeout, check the color of VMs in Qt Creator (bottom left icons red=VM is running, green=VM is not running, gray=VM is starting up).
  • 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.
  • Selecting Build / Clean all or Clean Project does not remove the Makefile.
  • SDK cannot be installed to a path with whitespace. Projects cannot be created to paths with whitespace.
  • Some Windows 8 setups do not have HOME, which is needed by MerSDK.
  • In OS X /tmp directory cannot be used as alternate source directory.

Sailfish OS Build Engine

  • Shadow building works only if the Qt Creator created qtc_ macros are used in your project’s spec file.
  • The build VM is preset with 512Mb RAM – no indication is given if more is needed for large builds.
  • Timeout problems connecting to Build Engine
    • Some users may experience random timeouts when deploying applications from Qt Creator. This can for example happen in an environment where your computer has no Internet connection or changes WiFi station during the day. The error condition will look similar to what’s below:
... Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/deploy/installroot Project ERROR: Could not connect to Sailfish OS Build Engine Virtual Machine. Timeout waiting for reply from server. 08:49:24: The process "/Users/username/.config/SailfishBeta1/mer-sdk-tools/MerSDK/SailfishOS-i486/deploy" exited with code 1. Error while building/deploying project foobar (kit: MerSDK-SailfishOS-i486) When executing step 'Rpm' ...
It may be possible to fix this condition by adding the name SailfishSDK to your computer’s hosts file:
127.0.0.1 SailfishSDK
Or if you already have a line with 127.0.0.1 there, just add the SailfishSDK to the end of the existing line like this:
127.0.0.1 localhost.localdomain localhost SailfishSDK

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.
  • Root access to the Emulator is only possible by SSH using the root SSH key.
  • Emulator cannot be accessed directly with ssh -p 2223 nemo@localhost. Password must first be set using Developer Settings in Settings application.
  • Application icon will not show up in home screen if using ‘Deploy as binaries’ method in Qt Creator, solution is to use RPM deployment.
  • 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 pulley menu sounds are not always played.
  • Double tap is not working with mouse on blanked screen, solution is to push it open from the bottom.
  • The Emulator screen is bigger vertically than many laptop screens and ‘scaling’ may be needed for some uses. Scaling can be controled from Qt Creator, menu Tools -> Mer -> Emulator Mode.
  • Emulator might start flickering on slow computers.
  • Timeout problems connecting to emulator
  • Audio is muted by default - https://together.jolla.com/question/167894/devel-qml-audio-issues-on-sailfish-os-emulator/?answer=173940#post-id-173940

Debugging

  • If you get the following error when starting a debugging session with your Jolla device from Qt Creator “Initial setup failed: Remote application finished with exit code 127.”, you will need to install additional debugging enabler packages to the device.
  • The following additional packages need to be installed to your device to enable debugging from Qt Creator: gdb-gdbserver and qt5-qtdeclarative-plugin-qmlinspector. They can be installed from device command line with the following command: pkcon install gdb-gdbserver qt5-qtdeclarative-plugin-qmlinspector
  • GDB may crash occasionally when stepping into code.
  • On Linux the debugger binary depends on libtinfo.so.5. On some ditributions this library is not installed by default when symbols normally provided by this library are available from libncurses.so.5. If you find no way to fix libtinfo.so.5 on your system, you can create it as a symlink to your system libncurses.so.5 in ~/SailfishOS/lib/Qt/lib/ and then use ~/SailfishOS/bin/qtcreator.sh wrapper script to launch Qt Creator.

General

  • 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.
  • The SDK offers no way to set a proxy setting to all components. If you need to set a proxy to connect to the Internet, connections from the Build Engine and the Emulator are known to fail.
  • VirtualBox 4.x support has been broken since SDK 1709. Read this thread for a workaround before the fix is released https://lists.sailfishos.org/pipermail/devel/2017-November/008076.html