Compilation error with Nox and PETSC
Created by: anates
When compiling Trilinos with PETSC (compiled with complex number support) I get the following errors:
> [ 83%] Building CXX object packages/nox/src-petsc/CMakeFiles/noxpetsc.dir/NOX_Petsc_Vector.C.o
> ~/Downloads/Trilinos/packages/nox/src-petsc/NOX_Petsc_Vector.C: In member function 'virtual Teuchos::RCP<NOX::Abstract::Vector> NOX::Petsc::Vector::clone(NOX::CopyType) const':
> ~/Downloads/Trilinos/packages/nox/src-petsc/NOX_Petsc_Vector.C:242:55: error: invalid new-expression of abstract class type 'NOX::Petsc::Vector'
> Teuchos::rcp(new NOX::Petsc::Vector(petscVec, type));
> ^
> In file included from ~/Downloads/Trilinos/packages/nox/src-petsc/NOX_Petsc_Vector.C:54:0:
> ~/Downloads/Trilinos/packages/nox/src-petsc/NOX_Petsc_Vector.H:76:7: note: because the following virtual functions are pure within 'NOX::Petsc::Vector':
> class Vector : public Abstract::Vector {
> ^~~~~~
> In file included from ~/Downloads/Trilinos/packages/nox/src-petsc/NOX_Petsc_Vector.H:55:0,
> from ~/Downloads/Trilinos/packages/nox/src-petsc/NOX_Petsc_Vector.C:54:
> ~/Downloads/Trilinos/packages/nox/src/NOX_Abstract_Vector.H:137:34: note: virtual NOX::Abstract::Vector& NOX::Abstract::Vector::random(bool, int)
> virtual NOX::Abstract::Vector& random(bool useSeed = false, int seed = 1) = 0;
> ^~~~~~
> ~/Downloads/Trilinos/packages/nox/src-petsc/NOX_Petsc_Vector.C: In member function 'virtual double NOX::Petsc::Vector::innerProduct(const NOX::Petsc::Vector&) const':
> ~/Downloads/Trilinos/packages/nox/src-petsc/NOX_Petsc_Vector.C:290:48: error: cannot convert 'double*' to 'PetscScalar* {aka std::complex<double>*}' for argument '3' to 'PetscErrorCode VecDot(Vec, Vec, PetscScalar*)'
> VecDot(y.getPetscVector(), petscVec, &dotprod);
> ^
> make[2]: *** [packages/nox/src-petsc/CMakeFiles/noxpetsc.dir/NOX_Petsc_Vector.C.o] Error 1
> make[1]: *** [packages/nox/src-petsc/CMakeFiles/noxpetsc.dir/all] Error 2
> make: *** [all] Error 2
Which options in cmake do I have to set to avoid those errors? Or are those errors in the library?