Thread: plpythonu on 7.4
On a 7.4 installation built --with-python... Python installed is 2.3.4. On createlang, I get the following error: createlang -U postgres 'plpythonu' template1 createlang: language installation failed: ERROR: could not load library "/usr/local/pgsql74/lib/plpython.so": /usr/local/pgsql74/lib/plpython.so: undefined symbol: PyDict_Copy Anyone have any hints? thanks, elein@varlena.com
On Fri, Jan 21, 2005 at 09:16:27PM -0800, elein wrote: > createlang: language installation failed: ERROR: could not load > library "/usr/local/pgsql74/lib/plpython.so": > /usr/local/pgsql74/lib/plpython.so: undefined symbol: PyDict_Copy What does "ldd /usr/local/pgsql74/lib/plpython.so" show? -- Michael Fuhr http://www.fuhr.org/~mfuhr/
Is this on fedora or redhat linux? If so a separate rpm must be installed for plpython to function. If you built from source the config script must also include building python. On Fri, Jan 21, 2005 at 10:34:51PM -0700, Michael Fuhr wrote: > On Fri, Jan 21, 2005 at 09:16:27PM -0800, elein wrote: > > > createlang: language installation failed: ERROR: could not load > > library "/usr/local/pgsql74/lib/plpython.so": > > /usr/local/pgsql74/lib/plpython.so: undefined symbol: PyDict_Copy > > What does "ldd /usr/local/pgsql74/lib/plpython.so" show? > > -- > Michael Fuhr > http://www.fuhr.org/~mfuhr/ > > ---------------------------(end of broadcast)--------------------------- > TIP 9: the planner will ignore your desire to choose an index scan if your > joining column's datatypes do not match
elein@varlena.com (elein) writes: > createlang -U postgres 'plpythonu' template1 > createlang: language installation failed: ERROR: could not load > library "/usr/local/pgsql74/lib/plpython.so": > /usr/local/pgsql74/lib/plpython.so: undefined symbol: PyDict_Copy I'd bet on a python version issue, viz plpython expecting a newer version of python than you have installed. regards, tom lane
On Sat, Jan 22, 2005 at 12:57:37AM -0500, Tom Lane wrote: > elein@varlena.com (elein) writes: > > createlang -U postgres 'plpythonu' template1 > > createlang: language installation failed: ERROR: could not load > > library "/usr/local/pgsql74/lib/plpython.so": > > /usr/local/pgsql74/lib/plpython.so: undefined symbol: PyDict_Copy > > I'd bet on a python version issue, viz plpython expecting a newer > version of python than you have installed. Hmmmm...Python 2.3.4 isn't very old, and the source code does contain a PyDict_Copy() function. The only newer version is 2.4, and it was released in late November. I was wondering if it was a dynamic linking issue, like plpython.so not finding libpython*. Does PostgreSQL's configure script check versions for Perl, Python, Tcl, etc.? If the version matters then configure ought to complain about it. -- Michael Fuhr http://www.fuhr.org/~mfuhr/