[petsc-users] errors of ~/petsc-3.2-p7/src/ksp/ksp/examples/tutorials/ex50.c

Roc Wang pengxwang at hotmail.com
Tue Apr 16 11:04:07 CDT 2013




Hello, I am trying to run the example code 




	
	
	
	


~/petsc-3.2-p7/src/ksp/ksp/examples/tutorials/ex50.c
I changed the extension .c to .cpp and used g++ compiler.

But, there were some errors when I compiled the code:


ex50.cpp:58: error: cannot convert
‘PetscInt*’ to ‘PetscLogStage*’ for argument ‘2’ to
‘PetscErrorCode PetscLogStageRegister(const char*,
PetscLogStage*)’

ex50.cpp:59: error: cannot convert
‘PetscInt*’ to ‘PetscLogStage*’ for argument ‘2’ to
‘PetscErrorCode PetscLogStageRegister(const char*, PetscLogStage*)’






ex50.cpp:326: error: cannot convert
‘PetscInt*’ to ‘int*’ for argument ‘3’ to ‘int
MPI_Get_count(MPI_Status*, MPI_Datatype, int*)’

270 




326       ierr = MPI_Get_count(&status,
MPIU_SCALAR, &inn); CHKERRQ(ierr);  

327     nn = inn;      





After I made the following modifications, the code was compiled successfully:

1 Change the data type of state[3] from PetscInt to PetscLogStage in line 49;
PetscLogStage stages[3];

2 Define a new variable inn as datatype of int in line 270;

3 Change the line 326 to: 
       ierr = MPI_Get_count(&status, MPIU_SCALAR, &inn); CHKERRQ(ierr);     

4 After line 326, add:   
      nn = inn;


I am wondering if the modification by me is correct and are  the bugs of the example code?
The version of PETSc I am using is 3.2-p7, the compiler is MPI plus g++.  Is it because I use a c++ compiler for a c code?  Thanks.

 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130416/a72915ca/attachment-0001.html>


More information about the petsc-users mailing list