[Trilinos-Users] Problem with building thyraepetraext example

饶锴 raokai1314 at gmail.com
Thu Sep 25 22:16:40 MDT 2008


I find the problem, libthyraepetraext depend on libthyraepetra , so in
Makefile , -lthyraepetraext should be in front of -lthyraepetra.
Sorry for troubling , i should have looked at the thyraepetraext source file
for help first~


2008/9/26 饶锴 <raokai1314 at gmail.com>

> Hi all,
>      I come with a problem when i build
> "/packages/thyra/adapters/epetraext/example/model_evaluator".
>      My building process is as follows.
>      Copy the "ForwardSolveEpetraModelEval2DSimMain.cpp" and the related
> .h and .cpp files to my own directory.
>      I've got
> "EpetraModelEval2DSim.cpp  EpetraModelEval4DOpt.hpp
>  EpetraModelEval2DSim.hpp  ForwardSolveEpetraModelEval2DSimMain.cpp
>  EpetraModelEval4DOpt.cpp  Makefile" in my work directory.
>
>    When i make the project , the compiling process is correct while linking
> meets error. The libthyraepetraext.a cannot be linked correctly.
>    The error msg is as follows:
>
> *************************************************************************************
> mpicxx   -DMPICH_IGNORE_CXX_SEEK -c EpetraModelEval2DSim.cpp '-I
> /media/sda5/Trilinos/include' '-L /media/sda5/Trilinos/lib'
> mpicxx   -DMPICH_IGNORE_CXX_SEEK -c EpetraModelEval4DOpt.cpp '-I
> /media/sda5/Trilinos/include' '-L /media/sda5/Trilinos/lib'
> mpicxx   -DMPICH_IGNORE_CXX_SEEK -c
> ForwardSolveEpetraModelEval2DSimMain.cpp '-I /media/sda5/Trilinos/include'
> '-L /media/sda5/Trilinos/lib'
> mpicxx -DHAVE_MPI  -DMPICH_IGNORE_CXX_SEEK -o out EpetraModelEval2DSim.o
> EpetraModelEval4DOpt.o ForwardSolveEpetraModelEval2DSimMain.o '-I
> /media/sda5/Trilinos/include' '-L /media/sda5/Trilinos/lib' -lrythmos
> -lthyraepetra -lthyraepetraext -lthyra -lstratimikos -lnew_package -lrtop
> -lloca -lifpack -lepetraext -lteuchos -lepetra -lml -ltriutils -lnox
> -lkokkos -lblas -llapack
> /media/sda5/Trilinos/lib/libthyraepetraext.a(Thyra_EpetraModelEvaluator.o):
> In function `Thyra::convert(Thyra::ModelEvaluatorBase::Derivative<double>
> const&, Teuchos::RCP<Epetra_Map const> const&, Teuchos::RCP<Epetra_Map
> const> const&)':
> Thyra_EpetraModelEvaluator.cpp:(.text+0x2654): undefined reference to
> `Thyra::EpetraLinearOp::epetra_op() const'
> Thyra_EpetraModelEvaluator.cpp:(.text+0x2856): undefined reference to
> `Thyra::get_Epetra_MultiVector(Epetra_Map const&,
> Teuchos::RCP<Thyra::MultiVectorBase<double> > const&)'
> /media/sda5/Trilinos/lib/libthyraepetraext.a(Thyra_EpetraModelEvaluator.o):
> In function
> `Thyra::EpetraModelEvaluator::finishConvertingOutArgsFromEpetraToThyra(EpetraExt::ModelEvaluator::OutArgs
> const&, Teuchos::RCP<Thyra::LinearOpWithSolveBase<double, double> >&,
> Teuchos::RCP<Thyra::LinearOpBase<double, double> >&,
> Teuchos::RCP<Thyra::LinearOpBase<double, double> const>&,
> Teuchos::RCP<Thyra::EpetraLinearOp>&, Teuchos::RCP<Epetra_Operator>&,
> Thyra::ModelEvaluatorBase::OutArgs<double> const&) const':
> Thyra_EpetraModelEvaluator.cpp:(.text+0x3444): undefined reference to
> `Thyra::EpetraLinearOp::initialize(Teuchos::RCP<Epetra_Operator> const&,
> Thyra::ETransp, Thyra::EApplyEpetraOpAs, Thyra::EAdjointEpetraOp,
> Teuchos::RCP<Thyra::SpmdVectorSpaceBase<double> const> const&,
> Teuchos::RCP<Thyra::SpmdVectorSpaceBase<double> const> const&)'
> ...................others omitted...............
>
> *************************************************************************************
>    I am wonderring which lib i missed. My makefile is as follows:
>
> **************************************************************************************
> CC = mpicxx
> HEAD = '-I /media/sda5/Trilinos/include'
> LIBS = '-L /media/sda5/Trilinos/lib'
> EXE = out
> SRCS= $(wildcard *.cpp)
> OBJS= $(SRCS:%.cpp=%.o)
>
> all : $(EXE)
>
> $(EXE):$(OBJS)
>         $(CC) -DHAVE_MPI  -DMPICH_IGNORE_CXX_SEEK -o $@ $(OBJS) $(HEAD)
> $(LIBS) -lrythmos -lthyraepetra -lthyraepetraext -lthyra -lstratimikos
> -lnew_package -lrtop -lloca -lifpack -lepetraext -lteuchos -lepetra -lml
> -ltriutils -lnox -lkokkos -lblas -llapack
>
> $(OBJS):%.o:%.cpp
>         $(CC)   -DMPICH_IGNORE_CXX_SEEK -c $< $(HEAD) $(LIBS)
> clean:
>     rm -f *.o *.txt
> cleanall:clean
>     rm -f $(EXE)
>
>
> ******************************************************************************
>
> In my lib directory , there are
>
> libaztecoo.a    libloca.a         librythmos.a      libthyraepetraext.a
> libepetra.a     libml.a           libstratimikos.a  libtriutils.a
> libepetraext.a  libnew_package.a  libteuchos.a
> libifpack.a     libnox.a          libthyra.a
> libkokkos.a     librtop.a         libthyraepetra.a
>
> Please help me find where the problem is, thanks!
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://software.sandia.gov/mailman/private/trilinos-users/attachments/20080926/9856207b/attachment-0001.html 


More information about the Trilinos-Users mailing list