Skip site navigation (1) Skip section navigation (2)

Re: import error undefined symbol: PyUnicodeUCS2_Decode

From: Jason Horning <jason(dot)horning(at)bullberrysystems(dot)com>
To: Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com>
Cc: "psycopg(at)postgresql(dot)org" <psycopg(at)postgresql(dot)org>
Subject: Re: import error undefined symbol: PyUnicodeUCS2_Decode
Date: 2012-01-16 18:34:26
Message-ID: (view raw, whole thread or download thread mbox)
Lists: psycopg

For some reason python26 build was not rebuilding the files so we dropped the existing build directory for lib.linux-i686-2.6 and ran python26 build again.  This generated a new file (along with other python source files) and allowed the subsequent install and import to succeed.


-----Original Message-----
From: psycopg-owner(at)postgresql(dot)org [mailto:psycopg-owner(at)postgresql(dot)org] On Behalf Of Daniele Varrazzo
Sent: Monday, January 16, 2012 11:10 AM
To: Jason Horning
Cc: psycopg(at)postgresql(dot)org
Subject: Re: [psycopg] import error undefined symbol: PyUnicodeUCS2_Decode

On Mon, Jan 16, 2012 at 4:39 PM, Jason Horning <jason(dot)horning(at)bullberrysystems(dot)com> wrote:
> I'm trying to port a Python app from Ubuntu to CentOS 5.5.  When I try 
> to import psycopg2, I get this:
> ImportError: /usr/lib/python2.6/site-packages/psycopg2/
> undefined symbol: PyUnicodeUCS2_Decode
> My code is built against python 2.6 and python 2.6 is installed on the 
> CentOS machine, but it's not the default Python.  (CentOS becomes very 
> unhappy if I try to make 2.6 the default.)
> I downloaded and extracted psycopg2 version 2.4.4 from 
> have performed the following steps:
> python26 build
> python26 install

Are you sure it is installed where then it gets imported, i.e. in </usr/lib/python2.6/site-packages/>?

> Hoping to get lucky, I replaced the file on the CentOS 
> box with the _psycopg2 from my (working) Ubuntu machine.  That just 
> got me another
> error:
> ImportError: can't import mx.DateTime module

This error shouldn't be reported since psycopg 2.4.2. You can install mx.DateTime to see if it solves the problem though.

> Python 2.6 seems to have been compiled with UCS4, and I am building
> psycopg2 against 2.6, but when I do that it still seems to be looking 
> for a
> UCS2 symbol.

I think you are using two different python executables to build psycopg and to use it.

> Am I missing a step somewhere?

You may try some solution to keep a clean and consistent Python environment, such as virtualenv. About psycopg, if it is compiled and used with a consistent python version, it should work fine for both
USC2 and UCS4 builds.

-- Daniele

Sent via psycopg mailing list (psycopg(at)postgresql(dot)org) To make changes to your subscription:

In response to

psycopg by date

Next:From: Peter IrbizonDate: 2012-01-17 14:53:51
Subject: Re: after application close MS Visual C++ runtime library error occurs
Previous:From: Daniele VarrazzoDate: 2012-01-16 17:10:18
Subject: Re: import error undefined symbol: PyUnicodeUCS2_Decode

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group