meld fails to start due to "ModuleNotFoundError: No module named 'cairo._cairo'"
After an upgrade to Ubuntu 19.04 meld
fails to start due to
> ~/sources/meld/bin/meld
2019-04-19 11:26:36,326 INFO Gtk: GLib-GIO-Message: 11:26:36.326: Adding GResources overlay '/org/gnome/meld=/mnt/data/sources/meld/meld/resources'
Traceback (most recent call last):
File "/home/richter/sources/meld/bin/meld", line 389, in <module>
import meld.meldapp
File "/mnt/data/sources/meld/meld/meldapp.py", line 31, in <module>
from meld.meldwindow import MeldWindow
File "/mnt/data/sources/meld/meld/meldwindow.py", line 26, in <module>
import meld.ui.gladesupport # noqa: F401
File "/mnt/data/sources/meld/meld/ui/gladesupport.py", line 7, in <module>
from meld import chunkmap # noqa: F401
File "/mnt/data/sources/meld/meld/chunkmap.py", line 20, in <module>
import cairo
File "/usr/lib/python3.7/cairo/__init__.py", line 1, in <module>
from ._cairo import * # noqa: F401,F403
ModuleNotFoundError: No module named 'cairo._cairo'
This issue occurs 100% of attempts and has been reproduced with the version shipped with Ubuntu 19.04 as well as a build in a fresh clone with python3 setup.py build && python3 setup.py install
.
In case this is a user error it'd be nice to detect the missing dependencies or incompatible system during build time and/or fail the start with a comprehensive error message.
This issue is probably causes by the use of Python 3.7. Since 3.6 is no longer available on Ubuntu 19.04 it'd be appreciated to ensure compatibility since meld
is the best mergetool there is and it'd be painful for Ubuntu users to deal with it's absence.
experienced with 3.20.0-339-g14168555
Edited by Karl-Philipp Richter