I'm creating my own shared lib that depends on LAPACK. It works fine on my mac (R version 2.15.0). It is compiled as such:
> R CMD SHLIB estfit.c It's loaded in R with > dyn.load("estfit.so") When doing this on Kubuntu (with r-base and r-base-dev, version 2.15.0 of R), it results in: > dyn.load("estfit.so") Error in dyn.load("estfit.so") : unable to load shared object '/home/project/estfit.so': /home/project/estfit.so: undefined symbol: dgetrf_ ldd output shows no problems. ~/rsch/project:ldd estfit.so linux-vdso.so.1 => (0x00007fff1b1b0000) libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007f0eb314b000) libm.so.6 => /lib/libm.so.6 (0x00007f0eb2ec8000) libR.so => /usr/lib/libR.so (0x00007f0eb28e7000) libc.so.6 => /lib/libc.so.6 (0x00007f0eb2564000) libblas.so.3gf => /usr/lib/libblas.so.3gf (0x00007f0eb22c9000) libreadline.so.6 => /lib/libreadline.so.6 (0x00007f0eb2087000) libpcre.so.3 => /lib/libpcre.so.3 (0x00007f0eb1e59000) liblzma.so.1 => /usr/lib/liblzma.so.1 (0x00007f0eb1c38000) libz.so.1 => /lib/libz.so.1 (0x00007f0eb1a20000) librt.so.1 => /lib/librt.so.1 (0x00007f0eb1818000) libdl.so.2 => /lib/libdl.so.2 (0x00007f0eb1614000) libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00007f0eb1405000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f0eb11e8000) /lib64/ld-linux-x86-64.so.2 (0x00007f0eb3a71000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f0eb0fd1000) libncurses.so.5 => /lib/libncurses.so.5 (0x00007f0eb0d8d000) ~/rsch/project:ldd /usr/lib/libblas.so.3gf linux-vdso.so.1 => (0x00007ffffe9a0000) libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007f498f39f000) libm.so.6 => /lib/libm.so.6 (0x00007f498f11c000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f498ef04000) libc.so.6 => /lib/libc.so.6 (0x00007f498eb81000) /lib64/ld-linux-x86-64.so.2 (0x00007f498f949000) ~/rsch/project:ldd /usr/lib/libR.so linux-vdso.so.1 => (0x00007fff1494e000) libblas.so.3gf => /usr/lib/libblas.so.3gf (0x00007f558ef5e000) libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007f558ec71000) libm.so.6 => /lib/libm.so.6 (0x00007f558e9ed000) libreadline.so.6 => /lib/libreadline.so.6 (0x00007f558e7ac000) libpcre.so.3 => /lib/libpcre.so.3 (0x00007f558e57e000) liblzma.so.1 => /usr/lib/liblzma.so.1 (0x00007f558e35c000) libz.so.1 => /lib/libz.so.1 (0x00007f558e145000) librt.so.1 => /lib/librt.so.1 (0x00007f558df3d000) libdl.so.2 => /lib/libdl.so.2 (0x00007f558dd38000) libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00007f558db2a000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f558d90d000) libc.so.6 => /lib/libc.so.6 (0x00007f558d589000) /lib64/ld-linux-x86-64.so.2 (0x00007f558f7fb000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f558d372000) libncurses.so.5 => /lib/libncurses.so.5 (0x00007f558d12f000) Questions: (1) What is going on and how can this be fixed to run on Kubuntu? Why is lapack not linking on the dynamic load? (2) If I publish this as a package, how do I specify a dependency on lapack? Does CRAN handle this? I.e., will Windows have similar problems? -- Shawn Garbett Vanderbilt University Cancer Biology Quaranta Lab [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.