Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

undefined symbol: PyUnicodeUCS2_Decode whilst trying to install psycopg2

I'm getting an error whilst trying to install psycopg2 on ubuntu 9.10 64 bit.

The error is:

>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "psycopg2/__init__.py", line 69, in <module>
    from _psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: psycopg2/_psycopg.so: undefined symbol: PyUnicodeUCS2_Decode

I've tried downloading the package from http://initd.org/pub/software/psycopg/ and installing it. I've tried by using easy_install too.

No error during the installation.

It's quite weird as my python (2.6.2) has been compiled with UCS4 and so the installation should just work without problems.

Any help would be appreciated.

Cheers

like image 823
Marco Fucci Avatar asked Apr 06 '10 10:04

Marco Fucci


2 Answers

fixed it.

I had to recompile python with --enable-unicode=ucs4.

Still not clear why as the default version on ubuntu uses ucs4.

like image 157
Marco Fucci Avatar answered Sep 23 '22 19:09

Marco Fucci


Like you say, your Python has been built UCS4. But the psycopg2 you're trying to install has been built against a Python built UCS2. Find one or build one against UCS4.

like image 44
Ignacio Vazquez-Abrams Avatar answered Sep 25 '22 19:09

Ignacio Vazquez-Abrams