[R] Question about building library and BLAS
Zhu Wang
zhuw at mail.smu.edu
Mon May 31 18:02:28 CEST 2004
Dear helpers,
I am trying to create a library which uses some Fortran source files and Lapack and Blas
subroutines. The Fortran source files from the original author contain subroutines
isamax.f, sgefa.f and sgesl.f, which are part of BLAS subroutines on my Linux computer,
but maybe different (old) versions. So in addition to these subroutines, there are other
Lapack and Blas subroutines involved. There is no problem to compile and run these files
using g77, such as the following to create car:
g77 -mieee-fp -fPIC -O2 -g -pipe -march=i386 -mcpu=i686 car
isamax.f, sgefa.f sgesl.f foo1.f ... foo20.f -llapack -lblas
By doing this, the procedure does not use subroutines isamax.f, sgefa.f sgesl.f in BLAS,
as expected. In fact, there are problems to use these subroutines in BLAS, for some reason.
Now what I want is to build an R library. The Makefile is the following:
LIBNAME=car
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
OBJS=isamax.o saxpy.o sscal.o foo1.o ... foo20.o -llapack -lblas
$(LIBNAME)$(SHLIB_EXT): $(OBJS)
$(SHLIB_LD) $(SHLIB_LDFLAGS) -o $@ $(OBJS) $(FLIBS)
clean:
@rm -f *.o *.$(SHLIB_EXT)
realclean: clean
Some compiling outputs are the following:
g77 -mieee-fp -fPIC -O2 -g -pipe -march=i386 -mcpu=i686 -c isamax.f
-o isamax.o
...
g77 -mieee-fp -fPIC -O2 -g -pipe -march=i386 -mcpu=i686 -c foo1.f -o
foo1.o
......
gcc -shared -o car.so isamax.o ...... foo20.o -llapack -lblas
-L/usr/local/lib -L/usr/lib/gcc-lib/i386-redhat-linux/3.3.2
-L/usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../.. -lfrtbegin -lg2c
-lm -lgcc_s
However, it turns out that this process did not take into account these
three files isamax, sgefa.f and sgesl.f.
Instead, it used subroutines in Blas, but again for some reason, it provided
error.
My question is how do I set up my Makefile, or maybe other files, such that I have
the same result as I did to compile and run these Fortran files directly.
Thanks in advance.
--
Zhu Wang
Statistical Science Department
Southern Methodist University
Dallas, TX 75275-0332
Phone:(214)768-2453 Fax:(214)768-4035
zhuw at mail.smu.edu
More information about the R-help
mailing list