Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

LAPACK for Fortran under Cygwin

  1. Dec 7, 2009 #1
    I just installed LAPACK, but I'm not sure how to use it. The documentation tells about the routines, but the problem is my compiler isn't recognizing them.

    For example...I wrote a simple Fortran program to test a routine (SGESV):

    Code (Text):

          program testlapack
              implicit  none

              integer N
              parameter(N=10)
              integer NRHS
              parameter(NRHS=1)
              integer LDA
              parameter(LDA=10)
              integer IPIV(N)
              integer LDB
              parameter(LDB=N)
              real A(LDA,N)
              real B(LDB,NRHS)
              integer INFO
              external SGESV

              call SGESV(N,NRHS,A,LDA,IPIV,B,LDB,INFO)

           end
     
    Then I compile in and it fails...

    Code (Text):

    $ g77 -ff90 -o test test.for
    /cygdrive/c/Users/david/AppData/Local/Temp/ccU0lt1W.o:test.for:(.text+0x4e): undefined reference to `_sgesv_'
    collect2: ld returned 1 exit status
     
    Is there something line an "include" or "use" statement that I have to include in my code file so the compiler will recognize these LAPACK routines?

    Thanks.
     
  2. jcsd
  3. Dec 7, 2009 #2
    I seem to have found a solution by specifying a linker flag:

    Code (Text):
    $ g77 -ff90 -o test test.for -llapack
     
  4. Dec 7, 2009 #3

    alxm

    User Avatar
    Science Advisor

    Yup, that's how you link to a library.
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook