From: | Tom Wilcox <hungrytom(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org, pgsql-novice(at)postgresql(dot)org |
Subject: | Re: libpython - cannot open shared object file |
Date: | 2010-06-22 16:52:46 |
Message-ID: | 4C20EA5E.8060901@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-novice |
Hi,
Can anyone help me get up and running on Ubuntu 64-bit Server (lucid) OS
with PostgreSQL 64-bit and Python 2.6?
(Please note that this is all running in a VirtualBox VM however I am
not convinced that is relevant here)
I have a load of functions written in plpythonu and I can't run anything
until they are able to run. Please help.. I have been through set up
using the Ubuntu Software Manager (postgresql, postgresql-8.4, plpython
for postgresql-8.4,..), I have tried using sudo apt-get install
postgresql-8.4, I have downloaded and installed using the 64-bit linux
binary from postgresql.com.
In all cases, I have started the server from "su postgres" in bash.. it
happily runs and pgadmin3 can connect. I successfully create my
plpythonu and pgsql functions then I attempt to use them in a simple
SELECT statement (see below) and the resulting error occurs:
--------------
DROP LANGUAGE IF EXISTS plpythonu CASCADE;
CREATE LANGUAGE plpythonu;
CREATE OR REPLACE FUNCTION min_float(a float, b float) RETURNS float AS $$
return min(a,b);
$$ LANGUAGE plpythonu;
SELECT min_float(1,2);
--------------
ERROR: could not load library
"/opt/PostgreSQL/8.4/lib/postgresql/plpython.so": libpython2.3.so.1.0:
cannot open shared object file: No such file or directory
----------------
I don't know enough to know where to start with this..
I have python2.6 installed. The following find command results:
root(at)ubuntu64-bertha:/opt/PostgreSQL/8.4/lib# find /* -name libpython*
find: '/media/windows-share/System Volume Information': Operation not
permitted
/opt/PostgreSQL/8.4/lib/postgresql/libpython2.6.so.1
/usr/lib/gnome-vfs-2.0/modules/libpythonmethod.so
/usr/lib/gnome-vfs-2.0/modules/libpythonmethod-2.6.so
<http://libpythonmethod-2.6.so>
/usr/lib/python2.6/config/libpython2.6.so <http://libpython2.6.so>
/usr/lib/libpython2.6.so.1
/usr/lib/libpython2.6.so.1.0
/usr/lib/gedit-2/plugin-loaders/libpythonloader.so
/usr/share/doc/libpython2.6
/usr/share/lintian/overrides/libpython2.6
/var/lib/dpkg/info/libpython2.6.symbols
/var/lib/dpkg/info/libpython2.6.shlibs
/var/lib/dpkg/info/libpython2.6.md5sums
/var/lib/dpkg/info/libpython2.6.postrm
/var/lib/dpkg/info/libpython2.6.postinst
/var/lib/dpkg/info/libpython2.6.list
I tried creating a symbolic link that points to the libpython2.6 like so:
root(at)ubuntu64-bertha:/opt/PostgreSQL/8.4/lib# ln -s
./postgresql/libpython2.6.so.1 libpython2.3.so.1.0
but then it gave me this error instead:
ERROR: could not load library
"/opt/PostgreSQL/8.4/lib/postgresql/plpython.so":
/opt/PostgreSQL/8.4/lib/postgresql/plpython.so: undefined symbol:
Py_InitModule4
SQL state: 58P01
So I presume it was expecting a different python version..(I have now
removed that symbolic link so I am back to my original error).
I am losing this battle badly and I am desperately running out of time.
Please can anyone help me or suggest anything I can try to sort this out
and get plpython running my functions in postgresql on this linux OS.
Please help me!
Tom
On 16/06/2010 15:02, Tom Wilcox wrote:
> Interesting:
>
> This works:
>
> postgres(at)ubuntu64-bertha:~$ createlang -d cse plpythonu
> Password:
> postgres(at)ubuntu64-bertha:~$
>
> But this doesn't:
>
> postgres(at)ubuntu64-bertha:~$ psql -c "CREATE LANGUAGE plpythonu"
> Password:
> ERROR: could not load library
> "/opt/PostgreSQL/8.4/lib/postgresql/plpython.so": libpython2.3.so.1.0:
> cannot open shared object file: No such file or directory
>
> Any suggestions? Feels like I'm not with the correct env vars in psql
> but TBH Im getting somewhat dazed and confused from staring at this
> too long..
>
> T
>
>
> On 16 June 2010 14:58, Tom Wilcox <hungrytom(at)gmail(dot)com
> <mailto:hungrytom(at)gmail(dot)com>> wrote:
>
> Hi,
>
> I have got PostgreSQL 8.4 up and running on my Ubuntu Server
> 64-bit OS, but I am having difficulty with the PL/Python functions
> from my database. In particular, I am running this:
>
> -------------------------------------------------------
> drop language plpythonu cascade;
> create language plpythonu;
>
> -- Utility
> CREATE OR REPLACE FUNCTION min_float(a float, b float) RETURNS
> float AS $$
> return min(a,b);
> $$ LANGUAGE plpythonu;
>
> SELECT min_float(1,2);
>
> -------------------------------------------------------
>
> And receiving this error message:
>
> -------------------------------------------------------
> NOTICE: drop cascades to function min_float(double
> precision,double precision)
>
>
> ERROR: could not load library
> "/opt/PostgreSQL/8.4/lib/postgresql/plpython.so":
> libpython2.3.so.1.0: cannot open shared object file: No such file
> or directory
>
> ********** Error **********
>
> ERROR: could not load library
> "/opt/PostgreSQL/8.4/lib/postgresql/plpython.so":
> libpython2.3.so.1.0: cannot open shared object file: No such file
> or directory
> SQL state: 58P01
> -------------------------------------------------------
>
> The strange thing is that I have successfully created plpythonu
> language and the PLPythonu function(s). I was originally having
> difficulty getting PL/Python to install and it was throwing a
> similar error. However, this everntually went away once I added
> the PostgreSQL root install dir to the PATH variable (in my
> .bashrc and .bash_profile). I have both Python26 and Python31
> installed (both came with ubuntu I believe).
>
> I am not sure that I have put my PATH and LD_LIBRARY_PATH settings
> into the correct .bash_profile and .bashrc files so that PgAdmin3
> and psql (being opened by other users) will have the correct settings.
>
> Any ideas/help much appreciated?
>
> Thanks,
> Tom
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2010-06-22 16:53:53 | Re: No PL/PHP ? Any reason? |
Previous Message | Carlo Stonebanks | 2010-06-22 16:49:35 | Re: No PL/PHP ? Any reason? |
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2010-06-22 17:23:27 | Re: libpython - cannot open shared object file |
Previous Message | Laslo Forro | 2010-06-22 08:42:34 | Re: Setting locale |