[Rd] dqrdc2_ dqrsl_ dtrsl_ missing from libs? compiling earth standalone
Casper Clemence
maninalift at googlemail.com
Fri May 8 14:19:52 CEST 2009
I have been trying to compile the earth Multivariate Adaptive
Regression of Splines package as a standalone application under Linux
(x86_64 kernel-2.6.27.21 openSUSE 11.1) with gcc 4.3.2.
The package compiles without problems from within R as an R module and
I get the following linker error:
earth.c:(.text+0x1a14): undefined reference to `dqrdc2_'
earth.c:(.text+0x1ae4): undefined reference to `dqrsl_'
earth.c:(.text+0x1d99): undefined reference to `dtrsl_'
earth.c includes:
extern _C_ int dqrdc2_(...
extern _C_ int dqrsl_(...
extern _C_ void dtrsl_(..
extern _C_ void daxpy_(...
extern _C_ double ddot_(...
I'm linking against libRblas.so and libRlapack.so so I did "nm
libRblas.so libRlapack.so" and found that there were no symbols for
dqrdc2_, dqrsl_, dqrsl_ and dtrsl_.
The functions are declared in "R_ext/Applic.h" and implemented in
separate f77 files.
I find that libR.a appears to contain the symbols but there is no libR.so
I'm compiling earth using:
gcc -DSTANDALONE -DMAIN -Wall -pedantic -Wextra -O3 -std=gnu99
-I/home/badbear/Documents/code/localpackages/lib64/R/include
-I../src/tests ../src/earth.c -L. -lblas -lRblas -lRlapack -o
earthMain
(I have placed libRblas.so and libRlapack.so in the local folder
because I was having problems with linking to them in another
location)
Do I need to create a shared-object from libR.a? Do I need to link
agains libR.a directly?
Many thanks,
Casper
More information about the R-devel
mailing list