--- Begin Message ---
Package: python2.3-rpy
Version: 0.4.1-4
Severity: normal
Hello,
I had a problem with rpy not finding a needed module. I did the
following:
$ python
Python 2.3.5 (#2, May 4 2005, 08:51:39)
[GCC 3.3.5 (Debian 1:3.3.5-12)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import rpy
>>> from rpy import r
>>> m=r('log(y)~x')
>>> f=rpy.with_mode(0,r('lm'))(m,{'x':[1,2,3],'y':[2,4,8]})
>>> r('summary')(f)
Warning message:
unable to load shared library '/usr/lib/R/modules/lapack.so':
libRlapack.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier
ou rép
ertoire de ce type
Traceback (most recent call last):
File "<stdin>", line 1, in ?
rpy.RException: Error in La.chol2inv(x, size) : lapack routines cannot be
loaded
>>>
By contrast, it works in R:
$ R
R : Copyright 2005, The R Foundation for Statistical Computing
Version 2.1.0 (2005-04-18), ISBN 3-900051-07-0
... ( lines cut ) ...
Type 'q()' to quit R.
> m=log(y)~x
> data <- data.frame(x=c(1,2,3),y=c(2,4,8))
> f=lm(m,data=data)
> summary(f)
Call:
lm(formula = m, data = data)
... ( lines cut ) ...
F-statistic: 4.679e+32 on 1 and 1 DF, p-value: < 2.2e-16
>
When using strace (log attached), it looks like rpy finds lapack.so
in /usr/lib/R/modules/, but then looks for libRlapack.so in the
library path, which does not include /usr/lib/R/lib/.
The following works around the problem:
$ export LD_LIBRARY_PATH=/usr/lib/R/lib/:$LD_LIBRARY_PATH
$ python
... same as before, but it works now ...
Hope this information will help making this work out of the box.
Cheers,
BC
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (88, 'unstable'), (88, 'testing'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.6-1-686
Locale: LANG=fr_FR, LC_CTYPE=fr_FR (charmap=ISO-8859-1)
Versions of packages python2.3-rpy depends on:
ii libc6 2.3.5-8 GNU C Library: Shared
libraries an
ii python2.3 2.3.5-3 An interactive high-level
object-o
ii python2.3-numeric 23.8-1 Numerical (matrix-oriented)
Mathem
ii r-base-core 2.1.0-1 GNU R core of statistical
computin
-- no debconf information$ strace python
...( relevant part only )...
open("/usr/lib/R/modules/lapack.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\34"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=44344, ...}) = 0
old_mmap(NULL, 47404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x41140000
old_mmap(0x4114b000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x4114b000
close(3) = 0
open("tls/i686/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("tls/i686/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("tls/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("i686/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("i686/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/data/Science/bin/additional-lib/libRlapack.so", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=77836, ...}) = 0
old_mmap(NULL, 77836, PROT_READ, MAP_PRIVATE, 3, 0) = 0x411fc000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/tls/i686/cmov", 0xbfffbf00) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/tls/i686", 0xbfffbf00) = -1 ENOENT (No such file or directory)
open("/lib/tls/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/tls/cmov", 0xbfffbf00) = -1 ENOENT (No such file or directory)
open("/lib/tls/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/lib/i686/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/i686/cmov", 0xbfffbf00) = -1 ENOENT (No such file or directory)
open("/lib/i686/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/i686", 0xbfffbf00) = -1 ENOENT (No such file or directory)
open("/lib/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/cmov", 0xbfffbf00) = -1 ENOENT (No such file or directory)
open("/lib/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
open("/usr/lib/tls/i686/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/usr/lib/tls/i686/cmov", 0xbfffbf00) = -1 ENOENT (No such file or
directory)
open("/usr/lib/tls/i686/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/usr/lib/tls/i686", 0xbfffbf00) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/usr/lib/tls/cmov", 0xbfffbf00) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/usr/lib/tls", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/i686/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/usr/lib/i686/cmov", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/i686/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/usr/lib/i686", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/cmov/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/usr/lib/cmov", 0xbfffbf00) = -1 ENOENT (No such file or directory)
open("/usr/lib/libRlapack.so", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=61440, ...}) = 0
munmap(0x411fc000, 77836) = 0
munmap(0x41140000, 47404) = 0
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2582, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x41140000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2582
read(3, "", 4096) = 0
close(3) = 0
munmap(0x41140000, 4096) = 0
open("/usr/share/locale/fr_FR/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/fr/LC_MESSAGES/libc.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=120881, ...}) = 0
mmap2(NULL, 120881, PROT_READ, MAP_PRIVATE, 3, 0) = 0x41b47000
close(3) = 0
open("/usr/lib/R/share/locale/fr_FR/LC_MESSAGES/R.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/lib/R/share/locale/fr/LC_MESSAGES/R.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
write(2, "Warning message:\n", 17Warning message:
) = 17
write(2, "unable to load shared library \'/"..., 162unable to load shared
library '/usr/lib/R/modules/lapack.so':
libRlapack.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou
répertoire de ce type
) = 162
--- End Message ---