Re: [Trilinos-Users] =?ISO-8859-1?Q?Problem compiling Tri?= linos Example

trilinos at perfect-kreim.de trilinos at perfect-kreim.de
Sat Jan 19 06:59:01 MST 2008


Hello,

thanks a lot Davood. I am not sure if I understand everything about this
.export files, but I copyed the content of
http://www.cs.sandia.gov/~maherou/acts/Makefile.htm to my makefile and
set:
PUC=ML
PLC=ml
and now everything compiles.

Best Regards,

Michael

Am 19.01.2008 um  Uhr haben Sie geschrieben:
> Hi
>
> I am sure you are going to get better replys on this
> but I thought I have some thing to share
> I had a similar issue and I believe it is came from the compilation
> string used for linking with the libraries. Here, I attach the chain
emails
> that lead me to the solution (thanks to the help from Mike Huerox).
>
> In short they do not write detailed makefiles to compile their codes
in
> trilinos.
> Rather, they use some .export files (and include them in their
makefile)
>
> Davood
>
> Hi
>
> I try to be as short as possible
> I have built and installed Trilinos with Intel family compilers.
> I am using Intel MPI.
> Every thing seems to be ok with the compilation and tests and build of
> Examples
> I have no trouble with Epetra and AztecOO
> Yet when I try to compile Ifpack objects in my  code I get all sorts
of
> misleading errors.
> This is an example of my compilation string:
>
> MKL_IP = /opt/intel/mkl/10.0.011/include
> MKL_LP = /opt/intel/mkl/10.0.011/lib/em64t
> MKL_LL = -lmkl_solver -lmkl_lapack -lguide -lpthread -lmkl
> Tri_IP = /opt/Trilinos/Parallel/include
> Tri_LP = /opt/Trilinos/Parallel/lib
> Tri_LL = -lamesos -lanasazi -laztecoo -lbelos -lepetra -lepetraext
-lgaleri
> -lifpack -lloca -lml -lnew_package -lnox -lrtop -lstratimikos
> -lstratimikosamesos -lstratimikosaztecoo -lstratimikosifpack
-lstratimikosml
> -lteuchos -lthyra -lthyraepetra -lthyraepetraext -ltriutils
>
> mpiicpc ../sources/parpoissons.cxx -I$(MKL_IP) -L$(MKL_LP) $(MKL_LL)
> -I$(Tri_IP) -L$(Tri_LP) $(Tri_LL) -o ./parpoissons
>
> I guess some thing is not completely right with my compilation string
> (method)
>
> Please advise
>
> Davood
>
>
*****************************************************************************************************************************************************
>
>
> from  Michael A Heroux <maherou at sandia.gov>    hide details  12/25/07
>  to  Davood Ansari <david.ansari at gmail.com>
>  date  Dec 25, 2007 12:33 AM
>  subject  Re: May you help me out
>  mailed-by  sandia.gov
>
> Davood,
>
> Linkers need to have libraries listed in a certain order.  If library
> libB.adepends on
> libA.a, then you must list them in order: "-lB &#8211;lA".
>
> This appears to be your problem.
>
> You can bypass this whole issue by using the Trilinos
> Makefile.exportfiles.  Look at the following link to see an example:
>
> http://www.cs.sandia.gov/~maherou/acts/Makefile.htm
>
> Replace the PUC and PLC macro definitions with a higher level package.
 For
> example try PUC=GALERI and PLC=galeri.
>
> I hope this helps.
>
> Note that Sandia is on winter break right now through most of next
week.  We
> will not be working and checking email only occasionally.
>
> Mike
> - Show quoted text -
>
>
> On 12/24/07 1:37 AM, "Davood Ansari" <david.ansari at gmail.com> wrote:
>
>
> - Show quoted text -
>
>
*****************************************************************************************************************************************************
> Hi again
>
> The the .export method seems to be the systematic approach for
compiling
> Trilinos based codes.
> I'd like to know more about that. What I am very curious is how to use
such
> a makefile when more than
> one packages are used in my code ? Particularly, what do you exactly
mean by
> "higher level package"?
>
> Davood
>
>
*****************************************************************************************************************************************************
> Davood,
>
> There is not a good description of Makefile.export use and we have
filed a
> bug to add this.  In the meantime what I mean about higher level
package is
> this:  Epetra is a low-level packge because it does not depend on
other
> Trilinos packages.  In contrast, Galeri is a high-level package
because it
> depends on (or more precisely can use) many other Trilinos packages.
>
> Mike






More information about the Trilinos-Users mailing list