On Wed, Mar 25, 2015 at 4:44 AM, bstr <nicola.lunar...@hotmail.it> wrote: > Dear R-devel, > > I am trying to use Fortran DGESV subroutine into C. Here it is the relevant > part of the C file I am currently writing > > #include<stdio.h> > #include<R.h> > #include<Rmath.h> > #include<math.h> > > void F77_NAME(DGESV)( int*, int*, double*, int*, int*, double*, int*, int*); > > void solve( int *p, double *A, double *Ainv) > { > ... > F77_CALL(DGESV)(p, p, Ain, p, ipiv, Bin, p, &info); > }
Try lower case. void F77_NAME(dgesv)( int*, int*, double*, int*, int*, double*, int*, int*); void solve( int *p, double *A, double *Ainv) { ... F77_CALL(dgesv)(p, p, Ain, p, ipiv, Bin, p, &info); } The lapack.so file has a name "dgesv_" in it, not DGESV_. > > In order to create the ".so" file to load in R I downloaded the dgesv.f file > as well as the dependencies (dgetf2.f dgetrf.f dgetrs.f dlaswp.f). As I was > used to I ran in a terminal > > R CMD COMPILE *.f > R CMD SHLIB MY_C_FILE.c *.o > > to get the MY_C_FILE.so file. However, when I try to load it in a R session > I get the following error message "undefined symbol: DGESV_". Similar errors > are occurring with some other (old) C files that I was used to use a couple > of years ago. In this connection I have to say that those file were working > under an older linux version (I guess ubuntu 12.04 LTS rather than the > current one which is 14.04 LTS). > > Best Regards, > > N. Lunardon -- If you sent twitter messages while exploring, are you on a textpedition? He's about as useful as a wax frying pan. 10 to the 12th power microphones = 1 Megaphone Maranatha! <>< John McKown ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel