Monday, January 10, 2011

How can I troubleshoot keryx 'UnicodeEncodeError' error?

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/libmurrine.so) 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.

  • 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.

    mac9416 : 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.
    From txwikinger
  • 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.

    mac9416 : The Keryx binary is meant to be run from the current directory. I modified your command to read `LANG=C ./keryx`.
    loevborg : True. Thanks, mac9416.
    From loevborg
  • 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?

    mac9416 : 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/__init__.py](http://bazaar.launchpad.net/~keryx-admins/keryx/stable/annotate/head:/lib/wxkeryx/__init__.py#L27)). He is trying to start the Keryx GUI when it crashes. How he's trying to start it, I'm not sure.
    excid3 : 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.

0 comments:

Post a Comment