Wolfgang, > > Attached is a debug patch which autodetects complex configuration > > of petsc for 2.3.* and 3.*.*. (Debug in the sense that nothing really > > happens except autodetection). I have no clean ideas how to make this > > work correctly for 2.2.1, and in this case (unfortunately) dealii > > reports "not found". It would be quite straightforward (and probably > > adventageous) to support 3.*.*+ for complex petsc only, like the > > SlepcWrappers do. > > I'm ok with this. Your patch tests for PETSc 2.2.x, not 2.3.x, by the way. Can > you re-check?
There is no way in this universe that that patch should have worked for PETSc 2.2*; there is no definition of PETSC_USE_COMPLEX in that version, there was simply a compiler flag. Something very bad must have gone wrong! See: http://www.mcs.anl.gov/petsc/petsc-2/documentation/changes/230.html for a description of the changes made to 2.3*, which, of course, changes again in 3.0* ;-) Attached is the total patch I think should be ok!! Things to note: (1) I have added the ability to grab libmpiuni.* for PETSc 3.0*; I have no idea why this was missing, I must have blissfully ignored this during the upgrades earlier this year. (2) Complex PETSc is *not* detected by PETSc 2.2*, it is ignored. In fact, the configure script will first check for lib_g++ and if this fails give up, and if lib_g++ is found use it! A message is given at check-time to reflect this behaviour. (3) If (and only if) PETSc complex is found, the macro DEAL_II_USE_PETSC_COMPLEX is defined. (PETSc 2.3* 3.0* dev). If it is not found, we say so during configure... Let me add my two cents worth (dwa groszy?) on (2) above: (a) We should not be actively supporting backwards, only forwards. We want to start supporting complex PETSc today and the version is 3.0.0-p8, so we should start from there. (Backwards compatibility for complex PETSc can be added on a "when it is needed" basis.) (b) I will grudgingly support complex for PETSc 2.3* if it is really wanted, many Linux flavours still have this as the default option, but I think we should drop it for complex PETSc. Let support for complex be like support for SLEPc, only since 3.0*; that would be alot easier to set up and then maintain., in that order :-) Where do we go from here? I would suggest marking out anything that does not compile, let dealii compile with PETSc 3.0* complex and then add on a "when it is needed basis". Probably this will be quite fast, since I have alot of complex problems I wish to solve... and probably so do others. Best, Toby ----- Toby D. Young Philosohy-Physics Assistant Professor Polish Academy of Sciences Warszawa, Polska www: http://www.ippt.gov.pl/~tyoung skype: stenografia On Mon, 21 Sep 2009, Wolfgang Bangerth wrote: _______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
