Page MenuHomePhabricator

Linux nightly installer doesn't start on Fedora
Closed, DuplicatePublic

Description

Taking the nightly installer for Ubuntu 20.04 from the Jenkins workspace and launching it on Fedora 32 fails while initializing Python:

[2.468] Initializing python service
terminate called after throwing an instance of 'mitk::Exception'
  what():  /home/ubuntu/jenkins-agent/MITK/Nightly/Ubuntu20.04/src/MITK/Modules/Python/autoload/PythonService/mitkPythonService.cpp:68:
Python runtime could not be loaded: /usr/lib/x86_64-linux-gnu/libpython3.8.so: cannot open shared object file: No such file or directory

The reason is a different path for the libpython3.8.so on Fedora. One solution could be to strip the absolute path before the dlopen call, this should cause a search in the usual library locations.

We could also decide this is a known issue, but still take it as a reminder to specify compatibility of Linux binary installers somewhere.

Event Timeline

nolden edited projects, added MITK (v2021.02); removed MITK.

I guess this is not specific to Fedora (not even to Linux) as we do not yet package python into the installer as far as I know. As this task is a bit moe vorbose than T26258: MITK and python only works with the specific python version the installer was created with, I will close the other one as duplicate.

I was just about to add a note that there is the general question how to handle python in installers. I guess for just having the basic runtime available it would be ok to just load libpython3.so or libpython3.8.so and let the system take the right one from the right path. But on Windows I guess most people don't install Python in system locations. Anyway I think this could be fixed even with the current packaging if we need it for 2020, but I'm just reporting, no pressure from my side ;)

Agree, but we should definitely package Python instead of relying on system python in any case as there are more strings attached. Even between minor Python updates there are imcompatibilities especially when SWIG is involved. Also we rely on certain Python packages like numpy or SimpleITK. So the plan is:

  • It's okay to use system python during development
  • But it will be packaged (including the necessary site packages) into installers