Matt was a bad boy and forgot to remove the debugging print statements and check that it does the correct thing with complex before pushing.<div><br></div><div><a href="http://petsc.cs.iit.edu/petsc/petsc-dev/rev/e2c8cd4c372b">http://petsc.cs.iit.edu/petsc/petsc-dev/rev/e2c8cd4c372b</a></div>
<div><div><br><div class="gmail_quote">On Tue, Jun 26, 2012 at 12:29 PM, Paul Mullowney <span dir="ltr"><<a href="mailto:paulm@txcorp.com" target="_blank">paulm@txcorp.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>
<br>
I'm trying to build PETSc with the configuration:<br>
./configure -with-debugging=no --with-mpi=1 --with-mpi-dir=/usr/mpi/gcc/<u></u>openmpi-1.4.3 --CFLAGS="-g -O3" --with-precision=double --with-clanguage=C++ --with-scalar-type=complex --with-thrust=0 --with-cusp=0 --with-cuda=0<br>

<br>
I see the errors listed below. I'm wondering if the code in DMDAComputeCellGeometry_2D function should be using PetscReal instead of PetscScalar?<br>
<br>
Thanks,<br>
-Paul<br>
<br>
<br>
dageometry.c: In function ‘PetscErrorCode DMDAComputeCellGeometry_2D(_p_<u></u>DM*, const PetscScalar*, const PetscReal*, PetscReal*, PetscReal*, PetscScalar*)’:<br>
dageometry.c:323: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:323: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:323: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:323: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:323: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:323: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:323: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:323: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:324: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:324: warning: cannot pass objects of non-POD type ‘const struct PetscScalar’ through ‘...’; call will abort at runtime<br>
dageometry.c:325: error: cannot convert ‘std::complex<double>’ to ‘double’ in assignment<br>
dageometry.c:325: error: cannot convert ‘std::complex<double>’ to ‘double’ in assignment<br>
dageometry.c:326: error: cannot convert ‘std::complex<double>’ to ‘double’ in assignment<br>
dageometry.c:326: error: cannot convert ‘std::complex<double>’ to ‘double’ in assignment<br>
dageometry.c:328: error: cannot convert ‘std::complex<double>’ to ‘PetscReal’ in assignment<br>
dageometry.c: In function ‘PetscErrorCode DMDAComputeCellGeometry(_p_DM*<u></u>, PetscInt, PetscQuadrature*, PetscReal*, PetscReal*, PetscReal*, PetscReal*)’:<br>
dageometry.c:352: error: cannot convert ‘const std::complex<double>’ to ‘double’ in assignment<br>
dageometry.c:357: error: cannot convert ‘PetscReal*’ to ‘PetscScalar*’ for argument ‘6’ to ‘PetscErrorCode DMDAComputeCellGeometry_2D(_p_<u></u>DM*, const PetscScalar*, const PetscReal*, PetscReal*, PetscReal*, PetscScalar*)’<br>

/usr/bin/ar: dageometry.o: No such file or directory<br>
<br>
<br>
</blockquote></div><br></div></div>