problems tio link libblas redhat enterprise v.3

pgf77 -Mprof=func -o solve62 gtwdl.o lookadr.o almem.o freemem.o solvema62.o getmem.o partm.o coklm.o frec.o ma62ad.o mc63ad.o mc60ad.o -L/usr/lib64 -lblas
/usr/lib64/libblas.so: undefined reference to e_wsfe' /usr/lib64/libblas.so: undefined reference to z_abs’
/usr/lib64/libblas.so: undefined reference to do_fio' /usr/lib64/libblas.so: undefined reference to s_stop’
/usr/lib64/libblas.so: undefined reference to c_abs' /usr/lib64/libblas.so: undefined reference to s_wsfe’
make: *** [solve62] Error 2

what is the problem?

The blas library your using is missing the actual definition of these functions. So either the blas library was built incorrectly or these functions are in a different library. You can use ‘nm’ to list all the symbols in a library so running ‘nm liblapack.so | grep c_abs’ and looking for an entry that has a ‘T’ before it will tell you if its defined somewhere. Do this for each library and once you find the library with the definition, add it the link line.

If you can’t find the definition in another library, then consider using the Blas library that comes with your compilers. To use this library simply remove the “-L/usr/lib64”. However, this is a static library so if you do need the capabilities of a dynamic library you’ll need to investigate how the /usr/lib64 Blas library was built.

  • Mat