Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As it had been recommended here I tried to install Keryx but I am getting following error and could not able to open up the software.

Here is the error message:

(keryx:4127): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/i486-pc-linux-gnu/engines/ initialization check failed: Gtk+ version too old (micro mismatch)

Fontconfig warning: "/etc/fonts/conf.d/11-lcd-filter-lcddefault.conf", line 9: invalid constant used : lcddefault
Fontconfig warning: "/etc/fonts/conf.d/53-monospace-lcd-filter.conf", line 17: invalid constant used : lcdlegacy
Traceback (most recent call last):
  File "<string>", line 132, in <module>
  File "keryx/build/pyi.linux2/keryx/outPYZ1.pyz/lib.wxkeryx", line 49, in Start
  File "keryx/build/pyi.linux2/keryx/outPYZ1.pyz/wx._core", line 7912, in __init__
  File "keryx/build/pyi.linux2/keryx/outPYZ1.pyz/wx._core", line 7487, in _BootstrapApp
  File "keryx/build/pyi.linux2/keryx/outPYZ1.pyz/lib.wxkeryx", line 27, in OnInit
  File "keryx/build/pyi.linux2/keryx/outPYZ1.pyz/lib.log", line 46, in info
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-8: ordinal not in range(128)

How can I solve this problem?

Thanks a lot.

share|improve this question
So the GTK version out of date I'm not sure is as much of a problem as Keryx is having trouble translating something to display. Are you using a translation? What was happening when it crashed? – excid3 Aug 17 '10 at 14:03
@excid3, as loevburg pointed out, line 27 here is the problem. It's simply logging that the interface was loaded. This appears to be the first string to be translated during startup. – mac9416 Aug 17 '10 at 14:13
up vote 7 down vote accepted

Not knowing Keryx, from looking at the source it seems that the error occurs here, in an innocuous print statement.

AFAIK the _() function is used in localization to retrieve the translation of a given string based on you current locale. So the problem is most likely related to your non-English language environment. Try running

LANG=C ./keryx

from the terminal window. This runs the program in English. If this is indeed the problem, send a bug report to the developer.

share|improve this answer
The Keryx binary is meant to be run from the current directory. I modified your command to read LANG=C ./keryx. – mac9416 Aug 17 '10 at 14:04
True. Thanks, mac9416. – loevborg Aug 17 '10 at 15:30

The GTK library that you have is too old for the keryx software that you try to install. Check on the keryx website what the requirements for libraries are and look if you can find a .deb in either the Ubuntu archives or a ppa that meets this requirement.

share|improve this answer
The Keryx binary he's using should contain all dependencies. I believe the GTK part is just a warning, and the UnicodeEncodeError is the real problem. – mac9416 Aug 17 '10 at 14:02

It is trying to interpret non-ascii data as ascii. This happens in the log function, so I'm guessing it is trying to log user-supplied data. The LANG=C trick is definitely worthwhile to try. What are you doing to make it crash? How do you start the application?

share|improve this answer
Dennis, it's not trying to log user-supplied data. It's logging the translated form of 'wxWidgets interface loaded' (as seen in line 27 of lib/wxkeryx/ He is trying to start the Keryx GUI when it crashes. How he's trying to start it, I'm not sure. – mac9416 Aug 17 '10 at 17:05
I think that we autodetect and apply the current locale of Ubuntu though, so that may be whats tripping things and we shouldn't auto switch. – excid3 Aug 17 '10 at 21:18

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.