On Mon, 23 Aug 2010 21:42:05 +0000, Matthew Knepley <knepley at gmail.com> wrote: > Can you explain the logPrint() problem? It is not quite clear. I tried > to be careful that Framework was picklable.
If I set self.logPrint = <some-function> in the PETScMaker object of cmakeboot.py, this attribute propagates into self.framework (which I only want to access as read-only). I'd actually prefer to make a deep copy just to be sure that nothing in cmakeboot.py propagates out, but don't know how to do that. Anyway, the result is that any attribute of the PETScMaker object needs to be pickleable because it will find it's way into framework, and then configure.py won't be able to finish. Note that the second paragraph has no deep consequences to this thread, it just explains why I write PETScMaker(petscdir,petscarch,argDB,framework).cmakeboot(args,logPrint) instead of PETScMaker(petscdir,petscarch,argDB,framework,logPrint).cmakeboot(args) Jed
