Page MenuHomePhabricator

SAMtool: Problem while downloading pretrained models
Closed, ResolvedPublic

Description

While downloading models via MITK, log shows

qt.network.ssl: QSslSocket: cannot resolve EVP_PKEY_base_id
qt.network.ssl: QSslSocket: cannot resolve SSL_get_peer_certificate
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_get_peer_certificate

Subsequently, the model is not downloaded.

OS: Ubuntu 22.04 (fresh VM)
Untested on MacOS

Event Timeline

a178n triaged this task as Normal priority.Jun 30 2023, 12:19 PM
a178n created this task.

Qt 5.15 is built against OpenSSL 1.1.1, however, Ubuntu 22.04 provides only the incompatible OpenSSL 3, which is why the calls cannot be resolved. The Qt 5 apt packages (resp. system Qt 5) is probably patched to work with OpenSSL 3, though, which is why it works on build machines that use system Qt 5 instead of the Qt5 online installer. System libs are not packed into installers, though, so it only works in the build tree and installers will be broken on other systems.

After discussion with @kislinsk, it's presumed that Ubuntu 22.04 comes with OpenSSL 3 which is incompatible to OpenSSL 1.1.1. Qt from the online installer was built against OpenSSL 1.1.1, though. That's why it is not working. It probably works Ubuntu setups with system Qt 5 which I guess is patched to work with system OpenSSL 3.
Therefore, so the way out, without any fixes to get this running on Ubuntu 22.04 is on the actual build machine when using system Qt5.

This would call for a build machine change.

A practical solution is to shift the download feature into the python wrapper.

a178n claimed this task.

Python wrapper now automatically downloads model type. The feature lifted off from MITK c++ code base