State of the SDK on Linux

Hi! Not trying to sound pedantic here, but it’s kind of ironic not to be able to install the latest [ as of this writing, 3.1.7 ] Sailfish SDK on updated Linux systems with the latest OpenSSL, making it basically impossible to develop apps for Sailfish, a Linux variant…on Linux. I don’t think that Jolla wants to scare off potential app developers, who indirectly contribute to the system as a whole, who work exclusively on Linux (like me), because they are unable to even install the SDK.

My two advices would be:

  • First and foremost update the required OpenSSL version!

  • Maybe test the functionality of the SDK in non-Ubuntu Linux variants? I know it is impossible to test it on all Linux distros, it would be a waste of time anyway. But what about concentrating on the most popular ones? Debian-based, Arch-based, Red Hat-based? That would encourage people from all Linux sides to get to know Sailfish.

2 Likes

I ran into the same problem with openssl when installing the SDK on openSUSE 15.1, and found this post on TJC:

https://together.jolla.com/question/226991/cannot-install-sailfish-sdk-31-with-online-installer-on-ubuntu-2004/

Essentially, libsl 1.0 is still required because the SDK still targets Ubuntu 16.04, which does not support libssl 1.1. Apparently, that is something they are working on – Ubuntu 16.04 will be eventually dropped as a supported environment, which then allows updating the libssl version.
Applying the suggested workaround in that thread does fix the installation issues however.

What other issues are you experiencing on non-Ubuntu variants? It seems to work well on a fairly large number of distros, judging by the lack of distro-specific complaints about incompatibilities that I’ve seen on TJC.

Maybe I didn’t make my points quite clear yet.

First, well yeah, I saw that post and the proposed workaround which, as commented right there by another user, only leads to another error, making install impossible.

Second and most importantly, ‘oh yeah just install a four-year-old Ubuntu version and/or an EOL-ed OpenSSL version’ isn’t quite a solution. The message I was trying to convey is that it’s ironic that Jolla is openly caring more about the SDK working on Windows and Mac OS X than on Linux. Hence my suggestion to make sure the SDK can be installed and works as expected on at least one modern (maybe even the latest) version of any Linux variant.

I’m trying to install the latest SDK via VirtualBox running Ubuntu 20.04 and am getting this error message:

Installation Aborted!

Virtualization technology not installed: You need a working VirtualBox or Docker installation.

I am using VirtualBox 5.2.44 (latest in 5.2.x line) and the latest Ubuntu 20.04 with updates and build-essentials. The VM has the VBox extensions installed.

Any ideas of how to force the installer to accept the environment? I took a look at the “–help” for the SDK installer, but didn’t see anything overtly applicable.

edit: typo

EDIT: Sorry, please ignore…I was trying to install the SDK from within a VirtualBox instance, not from my host system. Didn’t realize the SDK would setup its own VBox.

Sorry for replying to my own post, but here is the output from running the latest offline SDK installer using the “-v” verbose switch:

vansid@sailfishdev:~/Downloads$ ./SailfishSDK-3.1.7-linux64-offline.run -v
IFW Version: 3.0.4, built with Qt 5.12.5.

Summary

Build date: Nov 29 2019
Installer Framework SHA1: ccaadef
[0] Language: en-US
[0] Arguments: ./SailfishSDK-3.1.7-linux64-offline.run, -v
[0] Operations sanity check succeeded.
[0] Resource tree:
[0] :/translations
[0] :/translations/ifw_zh_CN.qm
[0] :/translations/qt_da.qm
[0] :/translations/qt_de.qm
[0] :/translations/qt_en.qm
[0] :/translations/qt_es.qm
[1] :/translations/qt_fr.qm
[1] :/translations/qt_ja.qm
[1] :/translations/qt_it.qm
[1] :/translations/qt_pl.qm
[1] :/translations/qt_ru.qm
[1] :/translations/ifw_de.qm
[1] :/translations/ifw_da.qm
[1] :/translations/ifw_es.qm
[1] :/translations/ifw_en.qm
[1] :/translations/ifw_fr.qm
[1] :/translations/ifw_it.qm
[1] :/translations/ifw_ja.qm
[1] :/translations/ifw_pl.qm
[1] :/translations/ifw_ru.qm
[1] :/translations/qt_zh_CN.qm
[1] :/uninstall.png
[1] :/installer.png
[1] :/installer.ico
[1] :/keepinstalled.png
[1] :/installer.icns
[1] :/install.png
[1] :/keepuninstalled.png
[8] :/qgradient
[8] :/qgradient/webgradients.binaryjson
[8] :/metadata
[8] :/metadata/org.merproject.examples.sailfishtemplate
[9] :/metadata/org.merproject.examples.sailfishtemplate/de_de.qm
[9] :/metadata/org.merproject.examples.sailfishtemplate/installscript.qs
[9] :/metadata/org.merproject.examples.sailfishtemplate/zh_cn.qm
[9] :/metadata/org.merproject.qmllive4qtcreator
[10] :/metadata/org.merproject.qmllive4qtcreator/installscript.qs
[10] :/metadata/org.merproject.targets.SailfishOS_latest_i486
[10] :/metadata/org.merproject.targets.SailfishOS_latest_i486/installscript.qs
[10] :/metadata/org.merproject.documentation
[10] :/metadata/org.merproject.documentation/de_de.qm
[10] :/metadata/org.merproject.documentation/installscript.qs
[10] :/metadata/org.merproject.documentation/zh_cn.qm
[10] :/metadata/org.merproject.mersdk4qtcreator
[10] :/metadata/org.merproject.mersdk4qtcreator/installscript.qs
[10] :/metadata/org.merproject.documentation.sailfishdocumentation
[10] :/metadata/org.merproject.documentation.sailfishdocumentation/de_de.qm
[10] :/metadata/org.merproject.documentation.sailfishdocumentation/installscript.qs
[10] :/metadata/org.merproject.documentation.sailfishdocumentation/zh_cn.qm
[10] :/metadata/org.merproject.examples.silicatutorials
[10] :/metadata/org.merproject.examples.silicatutorials/de_de.qm
[11] :/metadata/org.merproject.examples.silicatutorials/installscript.qs
[11] :/metadata/org.merproject.examples.silicatutorials/zh_cn.qm
[11] :/metadata/org.merproject.examples
[11] :/metadata/org.merproject.examples/de_de.qm
[11] :/metadata/org.merproject.examples/zh_cn.qm
[11] :/metadata/org.merproject.qtcreator
[11] :/metadata/org.merproject.qtcreator/LICENSE.ICU
[11] :/metadata/org.merproject.qtcreator/de_de.qm
[11] :/metadata/org.merproject.qtcreator/installscript.qs
[11] :/metadata/org.merproject.qtcreator/LICENSE.LGPL
[11] :/metadata/org.merproject.qtcreator/zh_cn.qm
[11] :/metadata/org.merproject.qtcreator/LGPL_EXCEPTION.TXT
[11] :/metadata/org.merproject.linguist
[11] :/metadata/org.merproject.linguist/de_de.qm
[11] :/metadata/org.merproject.linguist/installscript.qs
[11] :/metadata/org.merproject.linguist/LICENSE.GPL3
[11] :/metadata/org.merproject.linguist/zh_cn.qm
[11] :/metadata/org.merproject.emulators4qtcreator
[11] :/metadata/org.merproject.emulators4qtcreator/installscript.qs
[11] :/metadata/org.merproject.emulators
[11] :/metadata/org.merproject.emulators/installscript.qs
[11] :/metadata/org.merproject.emulators.emulator4qtcreator_latest
[11] :/metadata/org.merproject.emulators.emulator4qtcreator_latest/installscript.qs
[11] :/metadata/config
[12] :/metadata/config/config-internal.ini
[12] :/metadata/installer-config
[12] :/metadata/installer-config/controller_qs.qs
[12] :/metadata/installer-config/watermark_png.png
[12] :/metadata/installer-config/logo_png.png
[12] :/metadata/installer-config/config.xml
[12] :/metadata/org.merproject
[12] :/metadata/org.merproject/SailfishOS.license
[12] :/metadata/org.merproject/error.ui
[12] :/metadata/org.merproject/workspace.ui
[12] :/metadata/org.merproject/de_de.qm
[12] :/metadata/org.merproject/installscript.qs
[12] :/metadata/org.merproject/LICENSE.GPL2
[12] :/metadata/org.merproject/zh_cn.qm
[12] :/metadata/org.merproject.examples.silicaexamples
[12] :/metadata/org.merproject.examples.silicaexamples/de_de.qm
[12] :/metadata/org.merproject.examples.silicaexamples/installscript.qs
[12] :/metadata/org.merproject.examples.silicaexamples/zh_cn.qm
[12] :/metadata/org.merproject.qmllive
[12] :/metadata/org.merproject.qmllive/de_de.qm
[12] :/metadata/org.merproject.qmllive/installscript.qs
[12] :/metadata/org.merproject.qmllive/LICENSE.GPL3
[12] :/metadata/org.merproject.qmllive/zh_cn.qm
[12] :/metadata/org.merproject.mersdk
[13] :/metadata/org.merproject.mersdk/de_de.qm
[13] :/metadata/org.merproject.mersdk/installscript.qs
[13] :/metadata/org.merproject.mersdk/engine.ui
[13] :/metadata/org.merproject.mersdk/zh_cn.qm
[13] :/metadata/org.merproject.targets
[13] :/metadata/org.merproject.targets/installscript.qs
[13] :/metadata/Updates.xml
[13] :/metadata/org.merproject.tools
[13] :/metadata/org.merproject.tools/installscript.qs
[13] :/metadata/org.merproject.documentation.qtdocumentation
[13] :/metadata/org.merproject.documentation.qtdocumentation/de_de.qm
[13] :/metadata/org.merproject.documentation.qtdocumentation/installscript.qs
[13] :/metadata/org.merproject.documentation.qtdocumentation/zh_cn.qm
[13] :/metadata/org.merproject.targets.SailfishOS_latest_armv7hl4qtcreator
[13] :/metadata/org.merproject.targets.SailfishOS_latest_armv7hl4qtcreator/installscript.qs
[13] :/metadata/org.merproject.targets.SailfishOS_latest_i4864qtcreator
[13] :/metadata/org.merproject.targets.SailfishOS_latest_i4864qtcreator/installscript.qs
[13] :/metadata/org.merproject.targets.toolings.SailfishOS_latest
[13] :/metadata/org.merproject.targets.toolings.SailfishOS_latest/installscript.qs
[13] :/metadata/org.merproject.tools.gdb
[13] :/metadata/org.merproject.tools.gdb/LICENSE.PYTHON
[13] :/metadata/org.merproject.tools.gdb/de_de.qm
[13] :/metadata/org.merproject.tools.gdb/installscript.qs
[13] :/metadata/org.merproject.tools.gdb/LICENSE.GPL3
[13] :/metadata/org.merproject.tools.gdb/zh_cn.qm
[14] :/metadata/org.merproject.emulators.emulator_latest
[14] :/metadata/org.merproject.emulators.emulator_latest/de_de.qm
[14] :/metadata/org.merproject.emulators.emulator_latest/installscript.qs
[14] :/metadata/org.merproject.emulators.emulator_latest/zh_cn.qm
[14] :/metadata/rccprojectvQcXGT.qrc
[14] :/metadata/org.merproject.targets.SailfishOS_latest_armv7hl
[14] :/metadata/org.merproject.targets.SailfishOS_latest_armv7hl/installscript.qs
[14] :/metadata/org.merproject.maintenance
[14] :/metadata/org.merproject.maintenance/de_de.qm
[14] :/metadata/org.merproject.maintenance/installscript.qs
[14] :/metadata/org.merproject.maintenance/zh_cn.qm
[71] Loaded control script “:/metadata/installer-config/controller_qs.qs”
[75] Using control script: “:/metadata/installer-config/controller_qs.qs”
[2019] Not replacing repository with itself “https://releases.sailfishos.org/sdk/repository-3.1.7/updates
[2020] Not replacing repository with itself “https://releases.sailfishos.org/sdk/repository-3.1.7/updates-ea
[2020] Not replacing repository with itself “https://releases.sailfishos.org/sdk/repository-3.1.7/common
[2020] Not replacing repository with itself “https://releases.sailfishos.org/sdk/repository-3.1.7/linux-64
[2020] Not replacing repository with itself “https://releases.sailfishos.org/sdk/repository-3.1.7/mac
[2020] Not replacing repository with itself “https://releases.sailfishos.org/sdk/repository-3.1.7/windows
[2569] Url is: “://metadata/”
[2569] Url is: “/tmp/remoterepo-eZRYxW”
[2569] Url is: “://metadata/”
[2570] Url is: “/tmp/remoterepo-eZRYxW”
[2570] addDownloadable “Sailfish_OS-3.3.0.16-Sailfish_SDK_Target-armv7hl.tar.7z”
[2570] addDownloadable “Sailfish_OS-3.2.1.20-Sailfish_SDK_Tooling-i486.tar.7z”
[2570] addDownloadable “Sailfish_OS-2.2.0.29-Sailfish_SDK_Target-i486.tar.7z”
[2570] Url is: “://metadata/”
[2570] Url is: “/tmp/remoterepo-eZRYxW”
[2570] Url is: “://metadata/”
[2570] Url is: “/tmp/remoterepo-eZRYxW”
[2570] addDownloadable “Sailfish_OS-3.0.2.8-Sailfish_SDK_Target-i486.tar.7z”
[2570] Url is: “://metadata/”
[2570] Url is: “/tmp/remoterepo-eZRYxW”
[2571] addDownloadable “Sailfish_OS-2.1.3.7-Sailfish_SDK_Target-armv7hl.tar.7z”
[2571] addDownloadable “Sailfish_OS-3.0.2.8-Sailfish_SDK_Emulator.7z”
[2571] addDownloadable “Sailfish_OS-3.3.0.16-Sailfish_SDK_Tooling-i486.tar.7z”
[2571] addDownloadable “Sailfish_OS-2.2.1.18-Sailfish_SDK_Target-i486.tar.7z”
[2571] Url is: “://metadata/”
[2571] Url is: “/tmp/remoterepo-eZRYxW”
[2571] addDownloadable “Sailfish_OS-3.1.0.12-Sailfish_SDK_Emulator.7z”
[2571] addDownloadable “Sailfish_OS-3.0.0.8-Sailfish_SDK_Target-i486.tar.7z”
[2572] Url is: “://metadata/”
[2572] Url is: “/tmp/remoterepo-eZRYxW”
[2572] addDownloadable “Sailfish_OS-2.2.0.29-Sailfish_SDK_Target-armv7hl.tar.7z”
[2572] addDownloadable “buildengine-docker.7z”
[2572] Url is: “://metadata/”
[2572] Url is: “/tmp/remoterepo-eZRYxW”
[2572] addDownloadable “Sailfish_OS-3.2.0.12-Sailfish_SDK_Emulator.7z”
[2572] addDownloadable “Sailfish_OS-3.3.0.16-Sailfish_SDK_Target-i486.tar.7z”
[2572] addDownloadable “Sailfish_OS-3.0.1.11-Sailfish_SDK_Target-i486.tar.7z”
[2575] Url is: “://metadata/”
[2575] Url is: “/tmp/remoterepo-eZRYxW”
[2575] addDownloadable “Sailfish_OS-3.0.3.9-Sailfish_SDK_Target-armv7hl.tar.7z”
[2575] addDownloadable “Sailfish_OS-2.2.1.18-Sailfish_SDK_Tooling-i486.tar.7z”
[2575] addDownloadable “Sailfish_OS-3.1.0.12-Sailfish_SDK_Target-armv7hl.tar.7z”
[2595] Url is: “://metadata/”
[2596] Url is: “/tmp/remoterepo-eZRYxW”
[2596] addDownloadable “Sailfish_OS-3.2.1.20-Sailfish_SDK_Target-i486.tar.7z”
[2596] addDownloadable “Sailfish_OS-2.2.1.18-Sailfish_SDK_Target-armv7hl.tar.7z”
[2596] addDownloadable “Sailfish_OS-3.2.1.20-Sailfish_SDK_Target-armv7hl.tar.7z”
[2596] addDownloadable “Sailfish_OS-3.0.3.9-Sailfish_SDK_Tooling-i486.tar.7z”
[2596] Url is: “://metadata/”
[2596] Url is: “/tmp/remoterepo-eZRYxW”
[2597] Url is: “://metadata/”
[2597] Url is: “/tmp/remoterepo-eZRYxW”
[2597] addDownloadable “Sailfish_OS-3.0.1.11-Sailfish_SDK_Target-armv7hl.tar.7z”
[2597] addDownloadable “Sailfish_OS-3.0.1.11-Sailfish_SDK_Emulator.7z”
[2597] Url is: “://metadata/”
[2597] Url is: “/tmp/remoterepo-eZRYxW”
[2601] addDownloadable “Sailfish_OS-3.0.1.11-Sailfish_SDK_Tooling-i486.tar.7z”
[2602] Url is: “://metadata/”
[2602] Url is: “/tmp/remoterepo-eZRYxW”
[2602] addDownloadable “Sailfish_OS-3.0.0.8-Sailfish_SDK_Tooling-i486.tar.7z”
[2602] Url is: “://metadata/”
[2602] Url is: “/tmp/remoterepo-eZRYxW”
[2602] addDownloadable “Sailfish_OS-3.1.0.12-Sailfish_SDK_Target-i486.tar.7z”
[2602] addDownloadable “Sailfish_OS-3.2.0.12-Sailfish_SDK_Target-i486.tar.7z”
[2602] addDownloadable “Sailfish_OS-3.0.3.9-Sailfish_SDK_Target-i486.tar.7z”
[2602] addDownloadable “Sailfish_OS-3.2.0.12-Sailfish_SDK_Target-armv7hl.tar.7z”
[2602] Url is: “://metadata/”
[2602] Url is: “/tmp/remoterepo-eZRYxW”
[2602] addDownloadable “Sailfish_OS-3.0.0.8-Sailfish_SDK_Emulator.7z”
[2602] addDownloadable “Sailfish_OS-2.1.3.7-Sailfish_SDK_Tooling-i486.tar.7z”
[2603] addDownloadable “Sailfish_OS-3.1.0.12-Sailfish_SDK_Tooling-i486.tar.7z”
[2603] addDownloadable “Sailfish_OS-3.0.0.8-Sailfish_SDK_Target-armv7hl.tar.7z”
[2603] addDownloadable “Sailfish_OS-2.1.4.13-Sailfish_SDK_Target-i486.tar.7z”
[2603] Url is: “://metadata/”
[2615] Url is: “/tmp/remoterepo-eZRYxW”
[2615] Url is: “://metadata/”
[2615] Url is: “/tmp/remoterepo-eZRYxW”
[2615] addDownloadable “Sailfish_OS-3.0.3.9-Sailfish_SDK_Emulator.7z”
[2616] Url is: “://metadata/”
[2616] Url is: “/tmp/remoterepo-eZRYxW”
[2616] addDownloadable “Sailfish_OS-3.2.1.20-Sailfish_SDK_Emulator.7z”
[2616] addDownloadable “Sailfish_OS-2.1.4.13-Sailfish_SDK_Target-armv7hl.tar.7z”
[2616] Url is: “://metadata/”
[2616] Url is: “/tmp/remoterepo-eZRYxW”
[2616] addDownloadable “Sailfish_OS-2.1.3.7-Sailfish_SDK_Target-i486.tar.7z”
[2616] Url is: “://metadata/”
[2616] Url is: “/tmp/remoterepo-eZRYxW”
[2616] addDownloadable “Sailfish_OS-2.2.0.29-Sailfish_SDK_Tooling-i486.tar.7z”
[2616] addDownloadable “Sailfish_OS-2.1.4.13-Sailfish_SDK_Tooling-i486.tar.7z”
[2616] addDownloadable “Sailfish_OS-3.0.2.8-Sailfish_SDK_Tooling-i486.tar.7z”
[2617] Url is: “://metadata/”
[2617] Url is: “/tmp/remoterepo-eZRYxW”
[2617] addDownloadable “Sailfish_OS-3.2.0.12-Sailfish_SDK_Tooling-i486.tar.7z”
[2617] Url is: “://metadata/”
[2617] Url is: “/tmp/remoterepo-eZRYxW”
[2617] addDownloadable “Sailfish_OS-3.0.2.8-Sailfish_SDK_Target-armv7hl.tar.7z”
[2678] Not forcing installation of SailfishOS-3.3.0.16EA-armv7hl (may change later)
[2683] Not forcing installation of SailfishOS-3.2.1.20 (may change later)
[2684] Not forcing installation of SailfishOS-2.2.0.29-i486 (may change later)
[2684] Not forcing installation of SailfishOS-3.0.2.8-i486 (may change later)
[2684] Not forcing installation of SailfishOS-2.1.3.7-armv7hl (may change later)
[2684] Not forcing installation of SailfishOS-3.3.0.16EA (may change later)
[2684] Not forcing installation of SailfishOS-2.2.1.18-i486 (may change later)
[2684] Not forcing installation of SailfishOS-3.0.0.8-i486 (may change later)
[2684] Not forcing installation of SailfishOS-2.2.0.29-armv7hl (may change later)
[2684] Not forcing installation of SailfishOS-3.3.0.16EA-i486 (may change later)
[2684] Not forcing installation of SailfishOS-3.0.1.11-i486 (may change later)
[2685] Not forcing installation of SailfishOS-3.0.3.9-armv7hl (may change later)
[2685] Not forcing installation of SailfishOS-2.2.1.18 (may change later)
[2685] Not forcing installation of SailfishOS-3.1.0.12-armv7hl (may change later)
[2768] Warning: Component org.merproject contains data to be installed while having child components. This may not work properly.
[2770] Warning: Component org.merproject.emulators4qtcreator auto depends on component org.merproject.emulators which has children components. This will not work properly.
[2771] Warning: Component org.merproject.emulators specifies “ForcedInstallation” property together with “AutoDependOn” list. This combination of states may not work properly.
[2771] Warning: Other components depend on auto dependent component org.merproject.emulators. This may not work properly.
[2771] Warning: Component org.merproject.emulators auto depends on other components while having child components. This will not work properly.
[2771] Warning: Component org.merproject.emulators depends on other components while having child components. This will not work properly.
[2771] Warning: Other components depend on component org.merproject.emulators which has child components. This will not work properly.
[2772] Warning: Component org.merproject.targets contains data to be installed while having child components. This may not work properly.
[2772] Warning: Component org.merproject.targets specifies “ForcedInstallation” property together with “AutoDependOn” list. This combination of states may not work properly.
[2772] Warning: Component org.merproject.targets auto depends on other components while having child components. This will not work properly.
[2772] Warning: Component org.merproject.targets depends on other components while having child components. This will not work properly.
[2773] Warning: Component org.merproject.targets.toolings specifies “ForcedInstallation” property together with “AutoDependOn” list. This combination of states may not work properly.
[2774] Warning: Other components depend on auto dependent component org.merproject.mersdk4qtcreator. This may not work properly.
[2780] ;;;Virtualization technology not installed: You need a working VirtualBox or Docker installation. Please download one from www.virtualbox.org or https://hub.docker.com/search/?q=&type=edition&offering=community, install it and then rerun this installer.
[2781] Virtualization technology not installed: You need a working VirtualBox or Docker installation. Please download one from www.virtualbox.org or https://hub.docker.com/search/?q=&type=edition&offering=community, install it and then rerun this installer.
[2782] Warning: Empty filename passed to function
[2783] Warning: Empty filename passed to function
[2784] Warning: Empty filename passed to function
[2784] Warning: Empty filename passed to function
[2785] Warning: Empty filename passed to function
[2785] Warning: Empty filename passed to function
[2785] Warning: Empty filename passed to function
[2785] Warning: Empty filename passed to function
[2993] Warning: Empty filename passed to function
[2993] Warning: Empty filename passed to function