[Trilinos-Users] blas linking problem

Doug Reeder dlr at rain.org
Thu Nov 27 10:07:31 MST 2008


Sungho,

It looks like you may have a difference in trailing underscores  
between your fortran and c/c++ compilers. Usually you need to add a  
command line flag to you fortran compiler to have it supply the  
underscores to function names to be consistent with what c/c++ is doing.

Doug Reeder
On Nov 27, 2008, at 8:57 AM, miranus at maths.leeds.ac.uk wrote:

> Dear All,
>
> I am trying to do with trilinos library but have a below error  
> messages
> when linking the code after compiling's success.
>
> --------------------------------------------------------------
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::ASUM(int, float const*, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:53: undefined  
> reference to
> `sasum_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::DOT(int, float const*, float const*, int, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:61: undefined  
> reference to
> `sdot_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::NRM2(int, float const*, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:69: undefined  
> reference to
> `snrm2_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::SCAL(int, float, float*, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:77: undefined  
> reference to
> `sscal_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::COPY(int, float const*, float*, int, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:87: undefined  
> reference to
> `scopy_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::COPY(int, double const*, double*, int, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:92: undefined  
> reference to
> `dcopy_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::IAMAX(int, float const*, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:97: undefined  
> reference to
> `isamax_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::AXPY(int, float, float const*, float*, int, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:105: undefined  
> reference
> to `saxpy_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::GEMV(char, int, int, float, float const*, int, float  
> const*,
> float, float*, int, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:116: undefined  
> reference
> to `sgemv_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::GEMM(char, char, int, int, int, float, float const*,  
> int,
> float const*, int, float, float*, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:132: undefined  
> reference
> to `sgemm_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::SYMM(char, char, int, int, float, float const*, int,  
> float
> const*, int, float, float*, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:149: undefined  
> reference
> to `ssymm_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::SYMM(char, char, int, int, double, double const*, int,
> double const*, int, double, double*, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:158: undefined  
> reference
> to `dsymm_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::TRMM(char, char, char, char, int, int, float, float  
> const*,
> int, float*, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:166: undefined  
> reference
> to `strmm_'
> /home/miranus/trilinos/lib/libepetra.a(Epetra_BLAS.o): In function
> `Epetra_BLAS::TRMM(char, char, char, char, int, int, double, double
> const*, int, double*, int) const':
> ../../../../packages/epetra/src/Epetra_BLAS.cpp:174: undefined  
> reference
> to `dtrmm_'
> collect2: ld returned 1 exit status
> make: *** [step-1] Error 1
> -------------------------------------------------------------------
>
>
> Anyone has got a experience to go through this problem?
>
> I do not know how to deal with it
>
> Could you give me a help?
>
>
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users
>




More information about the Trilinos-Users mailing list