Thread: Using PL/R with 8.0
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
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
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/
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
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 >
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