Thread: Using PL/R with 8.0

Using PL/R with 8.0

From
elein@varlena.com (elein)
Date:
I'm trying to get plr up and running on an 8.0.1
pg installation.  I'm running Debian unstable.

I have R_HOME as /usr/lib/R
libR.so is in /usr/lib/R/lib/libR.so
and has rw-r--r-- permissions.

/u/local/pgsql80/lib/plr.so is rwxr-xr-x.

I've (re)built pg --with-plr and --with-libs=/usr/lib/R/ (just in case)

I've (re)built plr.

When I load plr.sql it complains:
ERROR:  could not load library "/u/local/pgsql80/lib/plr.so": libR.so: cannot open shared object file: No such file or
directory

Please tell me that there is something stupid
and obvious that I've forgotten to set? 
(And what that thing is :)

--elein
elein@varlena.com


Re: Using PL/R with 8.0

From
elein@varlena.com (elein)
Date:
Make that --with-R for the pg configure option.

On Tue, Mar 08, 2005 at 07:36:14PM -0800, elein wrote:
> I'm trying to get plr up and running on an 8.0.1
> pg installation.  I'm running Debian unstable.
> 
> I have R_HOME as /usr/lib/R
> libR.so is in /usr/lib/R/lib/libR.so
> and has rw-r--r-- permissions.
> 
> /u/local/pgsql80/lib/plr.so is rwxr-xr-x.
> 
> I've (re)built pg --with-plr and --with-libs=/usr/lib/R/ (just in case)
> 
> I've (re)built plr.
> 
> When I load plr.sql it complains:
> ERROR:  could not load library "/u/local/pgsql80/lib/plr.so": libR.so: cannot open shared object file: No such file
ordirectory
 
> 
> Please tell me that there is something stupid
> and obvious that I've forgotten to set? 
> (And what that thing is :)
> 
> --elein
> elein@varlena.com


Re: Using PL/R with 8.0

From
Michael Fuhr
Date:
On Tue, Mar 08, 2005 at 07:36:14PM -0800, elein wrote:

> ERROR:  could not load library "/u/local/pgsql80/lib/plr.so": libR.so: cannot open shared object file: No such file
ordirectory
 

What does the following show?

ldd /u/local/pgsql80/lib/plr.so

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/


Re: Using PL/R with 8.0

From
Joe Conway
Date:
elein wrote:
> I have R_HOME as /usr/lib/R
> libR.so is in /usr/lib/R/lib/libR.so
> and has rw-r--r-- permissions.
> 
> /u/local/pgsql80/lib/plr.so is rwxr-xr-x.
> 
> I've (re)built pg --with-plr and --with-libs=/usr/lib/R/ (just in case)

I doubt this does anything useful at best. Postgres has no builtin 
support for PL/R.

> 
> When I load plr.sql it complains:
> ERROR:  could not load library "/u/local/pgsql80/lib/plr.so": libR.so: cannot open shared object file: No such file
ordirectory
 

Try either: export LD_LIBRARY_PATH=/usr/lib/R/lib:$LD_LIBRARY_PATH
as the postgres user (or whatever user owns the cluster)
or edit /etc/ld.so.conf, add /usr/lib/R/lib, run ldconfig.

Joe



Re: Using PL/R with 8.0

From
elein@varlena.com (elein)
Date:
Yahoo!  The edit of /etc/ld.so.conf and running ldconfig
worked.  

Thank you.

--elein

On Thu, Mar 10, 2005 at 12:27:59AM -0800, Joe Conway wrote:
> elein wrote:
> >I have R_HOME as /usr/lib/R
> >libR.so is in /usr/lib/R/lib/libR.so
> >and has rw-r--r-- permissions.
> >
> >/u/local/pgsql80/lib/plr.so is rwxr-xr-x.
> >
> >I've (re)built pg --with-plr and --with-libs=/usr/lib/R/ (just in case)
> 
> I doubt this does anything useful at best. Postgres has no builtin 
> support for PL/R.
> 
> >
> >When I load plr.sql it complains:
> >ERROR:  could not load library "/u/local/pgsql80/lib/plr.so": libR.so: 
> >cannot open shared object file: No such file or directory
> 
> Try either:
>  export LD_LIBRARY_PATH=/usr/lib/R/lib:$LD_LIBRARY_PATH
> as the postgres user (or whatever user owns the cluster)
> or edit /etc/ld.so.conf, add /usr/lib/R/lib, run ldconfig.
> 
> Joe
> 


Re: Using PL/R with 8.0

From
Christopher Browne
Date:
Quoth elein@varlena.com (elein):
> I'm trying to get plr up and running on an 8.0.1
> pg installation.  I'm running Debian unstable.
>
> I have R_HOME as /usr/lib/R
> libR.so is in /usr/lib/R/lib/libR.so
> and has rw-r--r-- permissions.
>
> /u/local/pgsql80/lib/plr.so is rwxr-xr-x.
>
> I've (re)built pg --with-plr and --with-libs=/usr/lib/R/ (just in case)
>
> I've (re)built plr.
>
> When I load plr.sql it complains:
> ERROR:  could not load library "/u/local/pgsql80/lib/plr.so": libR.so: cannot open shared object file: No such file
ordirectory
 
>
> Please tell me that there is something stupid
> and obvious that I've forgotten to set? 
> (And what that thing is :)

There's a tendancy for R builds to not bother building the sharable
libR.so library.

The key to figuring it out is to check what's missing in library
linkages.  Two options ought to be helpful:

1.  ldd  /u/local/pgsql80/lib/plr.so
2.  ldd  /usr/lib/R/lib/libR.so

On my Debian/unstable system...

cbbrowne@wolfe> ldd /usr/lib/postgresql/lib/plr.so       libR.so => not found     libc.so.6 => /lib/tls/libc.so.6
(0x40022000)    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
 

It may suffice to figure out where libR.so is, and add that directory
in via LD_LIBRARY_PATH...
-- 
let name="cbbrowne" and tld="gmail.com" in String.concat "@" [name;tld];;
http://linuxdatabases.info/info/slony.html
"The idea that Bill Gates has appeared like a knight in shining armour
to  lead all customers  out of  a mire  of technological  chaos neatly
ignores  the  fact  that  it  was  he  who,  by  peddling  second-rate
technology, led them  into it in the first place."  - Douglas Adams in
Guardian, 25-Aug-95