PDA

View Full Version : Python Fails to Initialize [Crash]


Zeqad1ous
2008-05-28, 06:02
I've had this problem for a awhile now and I would like to attempt to get to the bottom of it.

First off, I run Arch Linux not Ubuntu, so please don't hurt me :). I compile xbmc fairly regularly with no problems except this one (details following). I am not really sure how to debug it anymore than I have since xbmc.log is unhelpful in this case.

The Initial Problem:
Arch Linux' default python24 package is compiled with --enable-unicode flag. This makes the python24-i486-linux.so fail to initialize when xbmc is started:
(
DEBUG: Loading: /usr/share/xbmc/system/python/python24-i486-linux.so
WARNING: Unable to resolve: python24-i486-linux.so PyUnicodeUCS4_AsUnicode, reason: /usr/share/xbmc/system/python/python24-i486-linux.so: undefined symbol: PyUnicodeUCS4_AsUnicode
FATAL: Python: error loading python24.dll
)

Everything in xbmc works great except the Python scripts in this case, which don't work at all.

The New Problem:
Now if I recompile python24 to better support unicode --enable-unicode=ucs4 or --enable-unicode=ucs2, I no longer have a problem with undefinied symbols in my python. However, xbmc will crash immediately upon start.

I've provided what logs and debugging i can below

xbmc.log : http://zeqadious.homelinux.net/junkbin/xbmc-Python/xbmc.log
gdb trace : http://zeqadious.homelinux.net/junkbin/xbmc-Python/xbmc.gdb

Anyone have an idea on what is going on here? Or what next steps I should attempt to fix this problem?

Thanks for any help!
Zeq

althekiller
2008-05-28, 20:54
We can't really be arsed to support other distros. That being said it runs fine on Gentoo ;)

Have you tried disabling unicode entirely?

Zeqad1ous
2008-05-28, 23:54
I have not in fact removed unicode support completely. I was under the impression that it needed it for some reason. I'll try that next. Thanks for the suggestion.

Zeq

Zeqad1ous
2008-05-29, 19:31
Solved! The final solution was not disabling unicode in this case however. I ended up copying the configure flags from Ubuntu and compiling a temporary Python that I then compiled xbmc against. The resulting xbmc works perfect.

Thanks for the suggestion Al, as its what made me start checking Ubuntu's build closer.

Zeq