From: Jason Riedy
Date: Wed, 29 Aug 2007 10:19:37 -0700
And Vaughn Cable writes:
However, when I build (with g77) my fortran application
containing a call to lapack's cgesv, the linker cannot find
cgesv_, no matter what lib directives I use or the order I give
them in the Makefile.
Are you linking with something like the following?
g77 -o foo foo.f /path/to/lapack/lapack_LINUX.a /path/to/lapack/blas_LINUX.a
nm lapack_LINUX.a | grep -i cgesv
to see what the symbol was named. If it's not there at all,
then something happened in the build.
Also, do I need to buy a 3rd party OMP package like Portland
Group because g77 can never see the OPM directives in the
fortran comments if I want to parallelize my own code? Are
both problems related?
g77 does not support OpenMP. More recent gfortran and gcc
releases include basic OpenMP support. LAPACK and the
reference BLAS currently do not use OpenMP directives.
The ATLAS project ( http://math-atlas.sourceforge.net ) can build
a threaded BLAS, but the build process is rather ornate. Some
vendor BLAS come with multi-threaded varieties as well.