[Trilinos-Users] Compilation error when specializing Thyra::initializePrec<Scalar> with [Scalar=double]

Alberto F. Martín-Huertas amartin at cimne.upc.edu
Wed Nov 2 11:13:58 MDT 2011


 Dear Thyra-Developers,

 when specializing the non-member function
 Thyra::initializePrec<Scalar> with [Scalar=double],
 I get the following compilation error:

 ****************************
 In file included from 
 /home/amartin/trilinos-10.6.4-Install/ompi-1-4-1-gcc-4-4-3/rel/include/Stratimikos_DefaultLinearSolverBuilder.hpp:42,
                  from Thyra_Flat.cpp:15:
 /home/amartin/trilinos-10.6.4-Install/ompi-1-4-1-gcc-4-4-3/rel/include/Thyra_PreconditionerFactoryHelpers.hpp: 
 In function ‘void Thyra::uninitializePrec(const 
 Thyra::PreconditionerFactoryBase<Scalar>&, const 
 Teuchos::Ptr<Thyra::PreconditionerBase<Scalar> >&, const 
 Teuchos::Ptr<Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > >&, const 
 Teuchos::Ptr<Thyra::ESupportSolveUse>&) [with Scalar = double]’:
 Thyra_Flat.cpp:486:   instantiated from here

 /home/amartin/trilinos-10.6.4-Install/ompi-1-4-1-gcc-4-4-3/rel/include/Thyra_PreconditionerFactoryHelpers.hpp:72: 
 error: no matching function for call to 
 ‘Thyra::PreconditionerFactoryBase<double>::uninitializePrec(const 
 Teuchos::Ptr<Thyra::PreconditionerBase<double> >&, 
 Teuchos::Ptr<Teuchos::RCP<const Thyra::LinearOpSourceBase<double> > >, 
 const Teuchos::Ptr<Thyra::ESupportSolveUse>&) const’

 /home/amartin/trilinos-10.6.4-Install/ompi-1-4-1-gcc-4-4-3/rel/include/Thyra_PreconditionerFactoryBase_decl.hpp:200: 
 note: candidates are: void 
 Thyra::PreconditionerFactoryBase<Scalar>::uninitializePrec(Thyra::PreconditionerBase<Scalar>*, 
 Teuchos::RCP<const Thyra::LinearOpSourceBase<Scalar> >*, 
 Thyra::ESupportSolveUse*) const [with Scalar = double]
 ****************************

 I am quite sure that this compilation error is due to the fact that
 the member function  
 Thyra::PreconditionerFactoryBase<double>::uninitializePrec
 is not properly called on line 0085 of 
 Thyra_PreconditionerFactoryHelpers.hpp.
 In particular, this line currently is:

 precFactory.uninitializePrec(prec, Teuchos::outArg(fwdOpSrc), 
 supportSolveUse);

 and I guess that it should be:

 precFactory.uninitializePrec(prec.get(), Teuchos::outArg(fwdOpSrc), 
 supportSolveUse);

 Can you confirm that I am right ?

 Thanks.

 Best regards,
  Alberto.


-- 
 Alberto F. Martín-Huertas
 Centre Internacional de Mètodes Numèrics a l'Enginyeria (CIMNE)
 Parc Mediterrani de la Tecnologia, UPC
 Esteve Terrades 5, Building C3, Office 210,
 08860 Castelldefels (Barcelona, Spain)
 Tel.: (+34) 9341 34223
 e-mail: amartin at cimne.upc.edu

 ________________
 IMPORTANT NOTICE
 All personal data contained on this mail will be processed 
 confidentially and registered in a file property of CIMNE in
 order to manage corporate communications. You may exercise the rights 
 of access, rectification, erasure and object by
 letter sent to Ed. C1 Campus Norte UPC. Gran Capitán s/n Barcelona.




More information about the Trilinos-Users mailing list