[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