[Wiki] Missing libcrypto.so.10 / libssl.so.10 breaks several apps on SailfishOS ≥ 4.3.0

This is a wiki, everyone can add amendments.

The update to SFOS 4.3.0.12 obviously remove libcrypto.so.10 (which is part of OpenSSL 1.0) this breaks these packages for me:

  • tdlibjson-1.4.0-1.15.3.jolla.armv7hl (provided by openrepos-BlackSailer)
    Workaround:
    There’s a Github repo that provides an update which, according to @adekker, can be installed after manual download on 4.3. See: Releases · elros34/td · GitHub
  • mapboxgl-qml-1.7.5-1.57.1.jolla.armv7hl (provided by openrepos-rinigus)
  • qca-qt5-2.0.3.1+git1-1.12.Nemo.armv7hl (provided by openrepos-piggz)
  • harbour-sailfishconnect-0.6.0-2.armv7hl (provided by openrepos-R1tschY)
    fixed with version 0.6.1-2 thanks @R1tschY
  • harbour-whisperfish … (provided by openrepos-rubdos)
  • harbour-sailtrix (openrepos-HengYeDev)
  • libopusfile-0.11-1.armv7hl (provided by openrepos-unmaintained)
  • harbour-fuoten (provided by openrepos-buschtrommel) Fuoten 0.7.1-2 has been rebuilt against OpenSSL 1.1.

Hence several further apps cannot be installed, such as:

  • depecher (Telegram client, depends on tdlibjson)
  • Telegra’me
  • harbour-fernschreiber
  • harbour-foilauth (fixed by @slava on openrepos)
  • pure-maps (depends on mapboxgl-qml)
    mapboxgl-qml-1.7.7-1.2.2 is available on OpenRepos, this should fix the dependencies, thanks @rinigus

Do we have to wait for updated packages or is there a workaround to provide the missing dependency?

[Edit by olf - 2022-01-15]

There are basically two generic workarounds on SailfishOS ≥ 4.3.0:

  1. The simplistic one: To establish symbolic links and test if the affected apps you use do not call APIs which were altered.

    devel-su
    cd /usr/lib
    ln -s libssl.so.1.1 libssl.so.10
    ln -s libcrypto.so.1.1 libcrypto.so.10
    

    If that does not work for the apps you are using, you shall revert this change by:
    devel-su; cd /usr/lib && rm libssl.so.10 libcrypto.so.10

    Note that on the Xperia 10 II & III (aarch64) the correct path might be /usr/lib64 for both actions (establishing and removing the two symlinks): Look per ls -l where the link targets (libssl.so.1.1 and libcrypto.so.1.1) are.

  2. To install OpenSSL 1.0
    For safety and security reasons I strongly suggest to utilise the original combi-packages (which provide both OpenSSL 1.0 and 1.1) built by Jolla for SailfishOS 4.2.0, which are available at OpenRepos for conveniently installing them.
    For details how to install them, see the guidance there.

Mind that both methods are workarounds, not real solutions for the years to come:
You should trigger the authors of the affected apps you use to update them for SailfishOS ≥ 4.3.0.

3 Likes

Re Mapbox: I forgot to update supporting libs (mapboxgl-qml and qmapboxgl) in OpenRepos. Would try to remember it and upload newer versions there. In Chum, the version supporting 1.1 is available (for example aarch64 version Detailed Information About mapboxgl-qml-1.7.7-1.1.1.jolla.aarch64.rpm - SailfishOS Open Build Service).

In principle, I would recommend to use Pure Maps (and other apps) from Chum. It should provide you with the libs for your specific SFOS version.

PS: Although, right now we don’t have 4.3 builds yet as those are not activated at OBS

AFAIK, dropping OpenSSL 1.0 was intentional, and the correct solution is to drop a ticket to the application maintainer.

Whisperfish, at least, was already aware of this before, and work is in progress.

3 Likes

Thanks for the hint, I manually downloaded and installed mapboxgl-qml-1.7.7-1.1.1.jolla.armv7hl.rpm and qmapboxgl-1.6.0+git2-1.1.1.jolla.armv7hl.rpm from chum and Pure Maps is running again.

1 Like

Jup, announced here:

and of course mentioned in the Release Notes for 4.3:

3 Likes

Depecher still works, but be sure to run the latest version. See my post here on openrepos: Depecher | OpenRepos.net — Community Repository System

Another lib that needs update is libopusfile.

1 Like

@Xeno_PL you’re right, I removed that before upgrade, but couldn’t find any package to install it again and didn’t find any package that was dependent on it.

Perhaps this could be turned into a wiki and updated as apps get updated?

1 Like

It may run, however I cannot install it anymore.

Did you also update tdlibjson? What’s the error message?

I tried to, of course. This is all about removal of OpenSSL 1.0. tdlibjson and Depecher depend on OpenSSL 1.0 (or libcrypto.so.10) which is no longer available.

I’m still not sure since you did not provide the error message nor your commands.

Anyway, it installs fine here:

echo $VERSION
4.3.0.12 (Suomenlinna)
nemo@Sailfish:~>  pkcon install-local -y tdlibjson-1.5.0.1-1.armv7hl.rpm 
Installing files                                                                                                                                                                                                                                           
Starting
Resolving dependencies
Downloading packages
Installing packages
Finished
Downloaded      tdlibjson-1.5.0.1-1.armv7hl (PK_TMP_DIR)                        Cross-platform library for building Telegram clients
Installed       tdlibjson-1.5.0.1-1.armv7hl (PK_TMP_DIR)                        Cross-platform library for building Telegram clients
nemo@Sailfish:~>  pkcon install-local -y depecher-0.8.1-1.armv7hl.rpm
Installing files
Starting
Resolving dependencies
Downloading packages
Installing packages
Finished
Downloaded      depecher-0.8.1-1.armv7hl (PK_TMP_DIR)                           Telegram client for Sailfish OS
Installed       depecher-0.8.1-1.armv7hl (PK_TMP_DIR)                           Telegram client for Sailfish OS

I have just uploaded MapboxGL QML and QMapboxGL from Chum to OpenRepos. Hopefully it works and nothing else is missing. Rather difficult to test when you have Chum repos installed already.

1 Like

Sailtrix is broken too.

I uninstalled Sailtrix 1.3.2 (pkcon remove harbour-sailrix) before upgrading Sailfish OS as the upgrade process warned about it.
Then I downloaded Sailtrix 1.3.4 from chum (where there no longer seemed to be a dependency to libcrypto.so.10) Saltrix_from_OBS_Chum_for_aarch64

The application starts fine for me, but it is no longer logged in and I get some errors when trying to log in again.
I use an Xperia 10 II.
I guess your app will not start at all if dependency to libcrypto.so.10 is still there.
Have not troubleshooted any further at this time, but thought I’d mention it here.

1 Like

Ahhh, I see you install version 1.5. On OpenRepos there’s only 1.4. What is your source of that version?

Same for harbour-fernschreiber and harbour-foilauth, for instance.

Same for Telegra’me. Installing of these apps impossible at the moment and the same story with installing any app in Jolla Store and Storeman.

Apps that want to have a single rpm supporting multiple Sailfish OS releases from not having libcrypto.so.10 and to not having libcrypto.so.1.1, can only link openssl statically and become HUGE. That’s what I’ll eventually do with Foil Auth and friends. And that sucks.

In the meantime there’s Chum where you can find quite a few apps compiled for various releases of Sailfish OS, including hopefully your favourite one.