meld - gi._glib.GError: Icon 'meld-change-appl

2019-04-23 13:53发布

问题:

I have managed to install the meld 3.14.2 and all the dependency packages, by compiling each package from source and all are installed on a NFS share with --prefix=<base>/meldfor the meld tool && --prefix=<base>/meld/deps for the dependencies.

Finally, I invoked the tool and I can see the GUI. But when I try to do some functionality testing, it throws me errors. I have never used the tool. So, I don't know how it is supposed to work exactly. But users have pointed out the following error, and there can be many other errors too I guess. But the following is one of it.

$meld
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
II 1
Traceback (most recent call last):
File "/applics/platform/meld/meld-3.14.2/lib/python2.7/site-packages/meld/newdifftab.py", line 117, in on_button_compare_clicked
tab = self.diff_methods[self.diff_type](compare_paths)
File "/applics/platform/meld/meld-3.14.2/lib/python2.7/site-packages/meld/meldwindow.py", line 647, in append_filediff
doc = filediff.FileDiff(len(files))
File "/applics/platform/meld/meld-3.14.2/lib/python2.7/site-packages/meld/filediff.py", line 281, in __init__
from meld.gutterrendererchunk import GutterRendererChunkAction
File "/applics/platform/meld/meld-3.14.2/lib/python2.7/site-packages/meld/gutterrendererchunk.py", line 33, in <module>
class GutterRendererChunkAction(GtkSource.GutterRendererPixbuf):
File "/applics/platform/meld/meld-3.14.2/lib/python2.7/site-packages/meld/gutterrendererchunk.py", line 38, in GutterRendererChunkAction
MODE_REPLACE: load("meld-change-apply-right"),
File "/applics/platform/meld/meld-3.14.2/lib/python2.7/site-packages/meld/gutterrendererchunk.py", line 30, in load
return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0)
File "/applics/platform/meld/meld-3.14.2/dependencies/lib/python2.7/site-packages/gi/types.py", line 113, in function
return info.invoke(*args, **kwargs)
gi._glib.GError: Icon 'meld-change-apply-right' not present in theme

Please tell me what could be wrong?

The following variables I have used throughout the installation and while using the tool.

PATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH, PYTHONPATH, GSETTINGS_SCHEMA_DIR

The reason for using all these paths is it is completely customized installation, as there were already existing GTK etc versions running on the servers and we don't want to disturb them and want a separate setup for meld, and also in a way that the same installation shared on NFS can be used from multiple servers.

But, unlike the other tools that we usually install, meld has very serious dependencies and we need to compile complex packages like GTK.

Anyhow, can any one tell us what's the wrong with the current installation? And do I need to set more variables and references or do I need to install the modules again with extra options? Now, I have only installed recommended dependencies for each package and left optional package dependencies.

And coming to the error, I can find the png file in my installation <base>/meld/share/icons/hicolor/16x16/actions/meld-change-apply-right.png, then why the tool is unable to find it? What is theme means here?

I was actually quite proud of myself after seeing the window, but now it seems it's just an empty window with zero functionality :(

回答1:

I had a similar problem running Meld 3.16.0 on Archlinux. In my case the specific error message was GLib.Error: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0).

I "fixed" it by creating symbolic links from the directory the Meld icons were installed in to the place Meld is apparently looking for these icons. In my case that that meant ln -s /usr/share/icons/hicolor/16x16/actions/meld* /usr/share/icons/gnome/16x16/actions/.

I consider this a work around rather than a real solution, but at least Meld is working correctly now.



回答2:

I solved reinstalling meld

$ sudo apt-get install meld

(a new version was available in debian stretch). Issue disappeared.



回答3:

Reinstalling solved the problem in my case as well on CentOs 7.

sudo yum remove meld
sudo yum install meld


回答4:

I solved on Ubuntu 16.04 with

sudo apt-get install gnome-icon-theme


回答5:

Reinstalling meld & gnome-icon-theme fixed my problem:

sudo apt-get install --reinstall meld gnome-icon-theme

without the --reinstall, I'm only getting the following for my Ubuntu 18.04.1 LTS:

$ sudo apt-get install meld gnome-icon-theme
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gnome-icon-theme is already the newest version (3.12.0-3).
meld is already the newest version (3.18.0-6).