On Wed, 26 Sep 2001, Santanu Chatterjee wrote:

> After reading a bit of info pages on gsl ( gnu scientific library )


> I gave the following command to compile and link the program ( named gsl_test.c )
>       gcc gsl_test.c  -L/usr/lib -lgsl -lm  -I/usr/include/gsl

> and I got the following :
> /usr/lib/libgsl.so: undefined reference to `gsl_blas_raw_dgemm'


OK, 

gsl actually uses the famous LAPCK and BLAS libraries to do the linear
algebraic stuff. Now these libraries are for fortran. How gsl goes around
it is, they have a wrapper library around blas called cblas ( iirc ) which
calls the fortran libraries. So there are a number of things you need to
do

i) install blas and lapack ( ithink gsl comes with a generic blas, but
blas is really about architecture optimised code, so get the right one
for your distro and arch, say blas**i386.rpm )

ii) in addition to -lgsl you also need to link the wrapper ie -lcblas and
the blas libraries.


if you still get undefined symbols, play around with the nm utility to
locate where they are located

for name in `find -name . "*"`; do nm $name | grep <func>; done 

-- sreangsu


_______________________________________________
linux-india-help mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/linux-india-help

Reply via email to