[Trilinos-Users] Trilinos with ATLAS

Virginia Costa virscosta at gmail.com
Tue Jun 5 11:49:36 MDT 2007


I did as you said and it work well, but when I try to run ex12.cpp (epetra
example from didasko), it returns the following error

g++     -o dist/Debug/GNU-Linux-x86/teste-trilinos-atlas
build/Debug/GNU-Linux-x86/teste-trilinos.o
-L/usr/local/trilinos-7.0.8/linux-serial-atlas/lib
-L/usr/local/atlas/lib -latlas -lcblas -lf77blas -laztecoo -lepetra
-lepetra_test -lepetraext -lifpack -lml -lteuchos -ltriutils -llapack
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::TRMM(char, char, char, char, int, int, double,
double const*, int, double*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:174:
undefined reference to `dtrmm_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::TRMM(char, char, char, char, int, int, float,
float const*, int, float*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:166:
undefined reference to `strmm_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/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':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:158:
undefined reference to `dsymm_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/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':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:149:
undefined reference to `ssymm_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::GEMM(char, char, int, int, int, double, double
const*, int, double const*, int, double, double*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:141:
undefined reference to `dgemm_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/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':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:132:
undefined reference to `sgemm_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::GEMV(char, int, int, double, double const*, int,
double const*, double, double*, int, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:123:
undefined reference to `dgemv_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/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':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:116:
undefined reference to `sgemv_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::AXPY(int, double, double const*, double*, int,
int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:109:
undefined reference to `daxpy_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::AXPY(int, float, float const*, float*, int, int)
const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:105:
undefined reference to `saxpy_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::IAMAX(int, double const*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:101:
undefined reference to `idamax_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::IAMAX(int, float const*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:97:
undefined reference to `isamax_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::COPY(int, double const*, double*, int, int)
const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:92:
undefined reference to `dcopy_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::COPY(int, float const*, float*, int, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:87:
undefined reference to `scopy_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::SCAL(int, double, double*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:82:
undefined reference to `dscal_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::SCAL(int, float, float*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:77:
undefined reference to `sscal_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::NRM2(int, double const*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:73:
undefined reference to `dnrm2_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::NRM2(int, float const*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:69:
undefined reference to `snrm2_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::DOT(int, double const*, double const*, int, int)
const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:65:
undefined reference to `ddot_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::DOT(int, float const*, float const*, int, int)
const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:61:
undefined reference to `sdot_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::ASUM(int, double const*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:57:
undefined reference to `dasum_'
/usr/local/trilinos-7.0.8/linux-serial-atlas/lib/libepetra.a(Epetra_BLAS.o):
In function `Epetra_BLAS::ASUM(int, float const*, int) const':
/usr/local/trilinos-7.0.8/packages/epetra/src/./Epetra_BLAS.cpp:53:
undefined reference to `sasum_'
collect2: ld returned 1 exit status
make[1]: ** [dist/Debug/GNU-Linux-x86/teste-trilinos-atlas] Erro 1
make[1]: Saindo do diretório
`/root/Desktop/testes-trilinos/teste-trilinos-atlas'
make: ** [.build-impl] Erro 2

Build failed. Exit value 2.

Did you have any idea about it?

thanks.
Virginia.

2007/6/5, James Willenbring <jmwille at sandia.gov>:
>
>  Virginia,
>
>
>
> When I have built Trilinos using ATLAS I have needed to specify other
> libraries along with the main atlas library.  For example:
>
>
>
> --with-blas="-L/atlas/build/dir/lib/ -lcblas –lf77blas –latlas"
>
>
>
> You will also need a separate LAPACK library because not all of the
> necessary LAPACK routines are available in ATLAS.  If between Russell's
> suggestion and my suggestion you don't get it working, you can send me
> <build_tree>/packages/teuchos/config.log and I can take a look at that file
> if you would like.
>
>
>
> Jim
>
>
>  ------------------------------
>
> *From:* trilinos-users-bounces at software.sandia.gov [mailto:
> trilinos-users-bounces at software.sandia.gov] *On Behalf Of *Russell Hooper
> *Sent:* Tuesday, June 05, 2007 10:30 AM
> *To:* Virginia Costa; trilinos-users at software.sandia.gov
> *Subject:* Re: [Trilinos-Users] Trilinos with ATLAS
>
>
>
>
> Virginia,
>
> It appears that the version of blas you are trying to link against was
> built with a different fortran underscore specification (likely double) than
> what is expected by Trilinos (single underscore suffix).
>
> You should be able to tell your fortran compiler to not use double
> underscores in the suffix of fortran routines, eg. with the gcc compilers,
> you can specify this via,
>
> --with-fflags="-fno-second-underscore"
>
> It may be that this flag or an equivalent for your compiler is set and
> should not be, in which case you will need to allow double underscore
> suffixes to link against your available blas/lapack libraries.
>
> Hope this helps,
>
> Russell
>
>
>
> On 6/5/07 9:03 AM, "Virginia Costa" <virscosta at gmail.com> wrote:
>
> Hi,
>
> Have anybody already used Trilinos with ATLAS?
>
> I´m trying, but, when I configure trilinos with the options
> --with-blas=/atlas/build/dir/lib/libatlas.a, it returns
>
> checking for dgemm_ in /usr/local/ATLAS/atlas-build/lib/libatlas.a... no
> configure: error: Cannot find blas library, specify a path using
> --with-blas=DIR/LIB (for example --with-blas=/usr/path/lib/libcxml.a)
> configure: error: /bin/sh './configure' failed for packages/teuchos
>
> Can somebody help me, please?
>
> Thanks.
>
> Virginia.
>  ------------------------------
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://software.sandia.gov/mailman/private/trilinos-users/attachments/20070605/a8f6a041/attachment-0001.html


More information about the Trilinos-Users mailing list