[Trilinos-Users] Build issue with --enable-nox-belos
Roger P. Pawlowski
rppawlo at sandia.gov
Mon Oct 29 13:42:58 MDT 2007
Hi Ryuta,
My apologies - the --enable-nox-belos flag has been deprecated. In the
future, concrete solvers will be accessed through the Thyra abstract
interface layer with the choice of concrete libraries specified by the
stratimikos package. So to use Belos with NOX and LOCA, you should go
through the NOX/Thyra interface layer. Use the --enable-nox-thyra flag
and make sure to build the thyra and stratimikos packages. Belos is an
option specified by a parameter list in the stratimikos package. A NOX
example that uses the Thyra interface can be found in
Trilinos/packages/nox/test/epetra/Thyra_2Dsim. The parameters needed to
switch to Belos can be found on the stratimikos package web page. If
you need more help, please don't hesitate to ask.
Best regards,
Roger Pawlowski
ryuta wrote:
> Hi,
>
> I encounter a trouble with compiling NOX with Belos library interface.
> Note that build failure occurs only when I add --enable-nox-belos to
> configure.
> I speculate it is the issue with NOX's interfacing to Belos since
> Belos can be built with any problem.
>
> Thank you,
> Ryuta
>
>
>
> /usr/local/bin/mpicxx -DHAVE_CONFIG_H
>
> (so many lines of include and library paths)...
>
> -DMPICH_IGNORE_CXX_SEEK -g -O2 -MT NOX_Belos_MultiVector.o -MD -MP -MF
> .deps/NOX_Belos_MultiVector.Tpo -c -o NOX_Belos_MultiVector.o `test -f
> '../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C'
> || echo
> '../../../../trilinos-8.0.3/packages/nox/src-belos/'`../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C
>
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:
> In member function ‘virtual Belos::MultiVec<double>*
> NOX::Belos::MultiVector::Clone(int)’:
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:83:
> error: cannot allocate an object of abstract type
> ‘NOX::Belos::MultiVector’
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.H:54:
> note: because the following virtual functions are pure within
> ‘NOX::Belos::MultiVector’:
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:73:
> note: Belos::MultiVec<ScalarType>*
> Belos::MultiVec<ScalarType>::Clone(int) const [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:81:
> note: Belos::MultiVec<ScalarType>*
> Belos::MultiVec<ScalarType>::CloneCopy() const [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:90:
> note: Belos::MultiVec<ScalarType>*
> Belos::MultiVec<ScalarType>::CloneCopy(const std::vector<int,
> std::allocator<int> >&) const [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:99:
> note: Belos::MultiVec<ScalarType>*
> Belos::MultiVec<ScalarType>::CloneView(const std::vector<int,
> std::allocator<int> >&) [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:119:
> note: void Belos::MultiVec<ScalarType>::MvTimesMatAddMv(ScalarType,
> const Belos::MultiVec<ScalarType>&, const
> Teuchos::SerialDenseMatrix<int, ScalarType>&, ScalarType) [with
> ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:124:
> note: void Belos::MultiVec<ScalarType>::MvAddMv(ScalarType, const
> Belos::MultiVec<ScalarType>&, ScalarType, const
> Belos::MultiVec<ScalarType>&) [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:129:
> note: void Belos::MultiVec<ScalarType>::MvScale(ScalarType) [with
> ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:134:
> note: void Belos::MultiVec<ScalarType>::MvScale(const std::vector<T,
> std::allocator<_CharT> >&) [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:140:
> note: void Belos::MultiVec<ScalarType>::MvTransMv(ScalarType, const
> Belos::MultiVec<ScalarType>&, Teuchos::SerialDenseMatrix<int,
> ScalarType>&) const [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:145:
> note: void Belos::MultiVec<ScalarType>::MvDot(const
> Belos::MultiVec<ScalarType>&, std::vector<T, std::allocator<_CharT>
> >&) const [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:155:
> note: void Belos::MultiVec<ScalarType>::MvNorm(std::vector<typename
> Teuchos::ScalarTraits<T>::magnitudeType, std::allocator<typename
> Teuchos::ScalarTraits<T>::magnitudeType> >&, Belos::NormType) const
> [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:165:
> note: void Belos::MultiVec<ScalarType>::SetBlock(const
> Belos::MultiVec<ScalarType>&, const std::vector<int,
> std::allocator<int> >&) [with ScalarType = double]
> /home/ryuta/Development/src/trilinos-8.0.3-build/packages/belos/../../../trilinos-8.0.3/packages/belos/src/BelosMultiVec.hpp:182:
> note: void Belos::MultiVec<ScalarType>::MvPrint(std::ostream&) const
> [with ScalarType = double]
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:
> In member function ‘virtual Belos::MultiVec<double>*
> NOX::Belos::MultiVector::CloneCopy()’:
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:90:
> error: cannot allocate an object of abstract type
> ‘NOX::Belos::MultiVector’
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.H:54:
> note: since type ‘NOX::Belos::MultiVector’ has pure virtual functions
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:
> In member function ‘virtual Belos::MultiVec<double>*
> NOX::Belos::MultiVector::CloneCopy(int*, int)’:
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:98:
> error: cannot allocate an object of abstract type
> ‘NOX::Belos::MultiVector’
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.H:54:
> note: since type ‘NOX::Belos::MultiVector’ has pure virtual functions
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:
> In member function ‘virtual Belos::MultiVec<double>*
> NOX::Belos::MultiVector::CloneView(int*, int)’:
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:106:
> error: cannot allocate an object of abstract type
> ‘NOX::Belos::MultiVector’
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.H:54:
> note: since type ‘NOX::Belos::MultiVector’ has pure virtual functions
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:
> In member function ‘virtual Belos::ReturnType
> NOX::Belos::MultiVector::MvNorm(double*, Belos::NormType)’:
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:182:
> error: ‘Ok’ is not a member of ‘Belos’
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:
> In member function ‘Belos::ReturnType
> NOX::Belos::MultiVector::noxReturnTypeToBelos(NOX::Abstract::Group::ReturnType)
> const’:
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:234:
> error: ‘Ok’ is not a member of ‘Belos’
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:236:
> error: cannot convert ‘Belos::StatusType’ to ‘Belos::ReturnType’ in
> return
> ../../../../trilinos-8.0.3/packages/nox/src-belos/NOX_Belos_MultiVector.C:238:
> error: ‘Error’ is not a member of ‘Belos’
> make[4]: *** [NOX_Belos_MultiVector.o] Error 1
> make[4]: Leaving directory
> `/home/ryuta/Development/src/trilinos-8.0.3-build/packages/nox/src-belos'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory
> `/home/ryuta/Development/src/trilinos-8.0.3-build/packages/nox'
>
>
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users
--
Roger P. Pawlowski
Computer Science and Mathematics
Sandia National Laboratories
PO Box 5800, MS-1318
Albuquerque, NM 87185-1318
email: rppawlo at sandia.gov
phone: (505) 284-3740
fax: (505) 284-5451
More information about the Trilinos-Users
mailing list