Ir al contenido principal

Entradas

Mostrando entradas de agosto, 2013

Error undefined symbol: PyUnicodeUCS2

Hace poco actualicé mi versión de ubuntu, tras lo cual me encontré con algunos errores en mis aplicaciones implementadas con Django. Resulta que el sistema unicode que utilizaba el sistema antes era el UCS2, y la versión de python que tengo compilada para Django también, pero al actualizar el sistema se ha cambiado a UCS4, por lo que algunas de mis aplicaciones ofrecen ese error tan feo: undefined symbol: PyUnicodeUCS2 en concreto para el módulo pycrypto. Podemos ver que tipo de sistema unicode utiliza nuestra versión de python con este sencillo script: /ruta/instalacion/python -c "import sys; print sys.maxunicode > 65536 and 'UCS4' or 'UCS2'" Si efectivamente vemos que utiliza UCS2, tendremos que volver a compilar nuestra versión de python con el siguiente parámetro: --enable-unicode=ucs4 y tras esto volver a reinstalar el módulo afectado, en mi caso pycrypto (con pip por ejemplo). Tras esto ya debería volver a funcionar nuestra aplicació