Description of problem: meld from epel7 is incompatible with LANG=fr_FR.utf8 Version-Release number of selected component (if applicable): meld-3.11.0-1.el7.2.noarch How reproducible: Always Steps to Reproduce: export LANG=fr_FR.utf8 date > 1.txt sleep 2 date > 2.txt meld 1.txt 2.txt Actual results: As is: Usage: meld Démarrer avec une fenêtre vide meld <fichier|folder> Démarrer une comparaison de gestion de versions meld <fichier> <fichier> [<fichier>] Démarrer une comparaison de 2 ou 3 fichiers meld <folder> <folder> [<folder>] Start a 2- or 3-way folder comparison If we use the GUI for manually selecting the two files: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/meld/newdifftab.py", line 112, in on_button_compare_clicked tab = self.diff_methods[self.diff_type](compare_paths) File "/usr/lib/python2.7/site-packages/meld/meldwindow.py", line 604, in append_filediff doc = filediff.FileDiff(len(files)) File "/usr/lib/python2.7/site-packages/meld/filediff.py", line 321, in __init__ self.set_num_panes(num_panes) File "/usr/lib/python2.7/site-packages/meld/filediff.py", line 1889, in set_num_panes self.recompute_label() File "/usr/lib/python2.7/site-packages/meld/filediff.py", line 1061, in recompute_label self.label_text = (" — ").decode('utf8').join(shortnames) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 23: ordinal not in range(128) If we first enter "export LANG=C" or "export LANG=en_US.utf8": (seems to work, but throws those errors to the console) Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/meld/gutterrendererchunk.py", line 125, in do_query_data chunk = self.linediffer.get_chunk(chunk_index, self.from_pane) File "/usr/lib/python2.7/site-packages/meld/diffutil.py", line 249, in get_chunk if from_pane in (0, 2): TypeError: Couldn't find conversion for foreign struct 'cairo.Context' Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/meld/gutterrendererchunk.py", line 128, in do_query_data action = self._classify_change_actions(chunk) File "/usr/lib/python2.7/site-packages/meld/gutterrendererchunk.py", line 145, in _classify_change_actions editable, other_editable = [v.get_editable() for v in self.views] TypeError: Couldn't find conversion for foreign struct 'cairo.Context' Expected results: meld should display a file comparison between "1.txt" and "2.txt"
In my experience the problem is not specific to fr_FR.utf8, but more or less all locales other than en_US.utf8 and C. The exact symptoms may vary slightly, but the common factor is that the actual comparison functionality is completely unusable. FWIW, I tested the meld-3-12 branch in meld's official git repo, and that meld seems to work fine on CentOS 7.
Lubomir, I ran into this today as well on a fresh CentOS 7.2 install: [thl@truhe tmp]$ date > 1.txt; sleep 1; date > 2.txt; meld 1.txt 2.txt ** (meld:7278): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-gEaFMJ47eE: Verbindungsaufbau abgelehnt Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/meld/task.py", line 110, in iteration ret = next(task) File "/usr/lib/python2.7/site-packages/meld/filediff.py", line 1224, in _set_files_internal for i in self._load_files(files, self.textbuffer): File "/usr/lib/python2.7/site-packages/meld/filediff.py", line 1098, in _load_files yield _("[%s] Opening files") % self.label_text UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 21: ordinal not in range(128) Maybe it would be wise to rebase to a later version? Want me to prepare something for you? Which version? The latest (3.14.2) might match the gnome in RHEL/CentOS now.
I confirm the issue on RHEL 7.2, either with the GUI or at command line. As a result, meld is unusable for file comparison. Can anyone provide a more recent build?
Could you give this package a try please: https://kojipkgs.fedoraproject.org//work/tasks/5669/16015669/meld-3.16.3-2.el7.src.rpm I plan to submit it as a update for epel7
Well that new version doesn't start for me: % meld Gtk-Message: Failed to load module "pk-gtk-module" Gtk-Message: Failed to load module "pk-gtk-module" Traceback (most recent call last): File "/usr/bin/meld", line 281, in <module> setup_glib_logging() File "/usr/bin/meld", line 264, in setup_glib_logging GLib.log_set_handler(log_domain, level_flag, log_adapter, None) File "/usr/lib64/python2.7/site-packages/gi/module.py", line 320, in __getattr__ return getattr(self._introspection_module, name) File "/usr/lib64/python2.7/site-packages/gi/module.py", line 139, in __getattr__ self.__name__, name)) AttributeError: 'gi.repository.GLib' object has no attribute 'log_set_handler'
(In reply to Götz Waschk from comment #5) > Well that new version doesn't start for me: What the… Seeing this problem now as well here; wondering why I didn't see it yesterday (did I test on the wrong machine?). Anyway: Scratch the request for testing, I'll look into this
(In reply to Thorsten Leemhuis from comment #6) > (In reply to Götz Waschk from comment #5) > > Well that new version doesn't start for me: > What the… Seeing this problem now as well here; wondering why I didn't see > it yesterday (did I test on the wrong machine?). Anyway: Scratch the request > for testing, I'll look into this Please give this build a try (yes, this time I tested it for real…): http://koji.fedoraproject.org/koji/taskinfo?taskID=16117588
Great, the new version is working fine so far.
Works for me too. Thanks!
meld-3.16.3-2.el7.1 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-c3428883ac
meld-3.16.3-2.el7.1 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.