[petsc-dev] [petsc-maint] valgrind detected on /usr/local/include and enabled but header files from this dir are not added to build path

Satish Balay balay at mcs.anl.gov
Tue Oct 29 15:48:29 CDT 2013


On Tue, 29 Oct 2013, Jed Brown wrote:

> Satish Balay <balay at mcs.anl.gov> writes:
> > If you look at the current configure.log - its after fortran compiler
> > detection.
> >
> > Currently the dependencies [for PETSC_ARCH] are:
> >
> >     self.petscdir = framework.require('PETSc.utilities.petscdir', self)
> >     self.languages = framework.require('PETSc.utilities.languages', self)
> >     self.compilerFlags = framework.require('config.compilerFlags', self)
> >
> > so it need to get that far before PETSC_ARCH can be set/used..
> 
> Okay, but why does it have to go that far?

Because of the current dependency "config.compilerFlags -> config.setCompilers"
The following change moves the arch.py usage up earlier. If configureInstallationMethod()
can be moved out of petscdir.py - then it can probably move even earlier..

>>>>>>>>>>>>
$ git diff
diff --git a/config/PETSc/utilities/arch.py b/config/PETSc/utilities/arch.py
index 6d6c5f0..0cbe583 100644
--- a/config/PETSc/utilities/arch.py
+++ b/config/PETSc/utilities/arch.py
@@ -26,7 +26,6 @@ class Configure(config.base.Configure):
     config.base.Configure.setupDependencies(self, framework)
     self.petscdir = framework.require('PETSc.utilities.petscdir', self)
     self.languages = framework.require('PETSc.utilities.languages', self)
-    self.compilerFlags = framework.require('config.compilerFlags', self)
     return
 
   def configureArchitecture(self):
@@ -52,7 +51,7 @@ Warning: Using from command-line or name of script: %s, ignoring environment: %s
         self.arch = 'arch-' + sys.platform.replace('cygwin','mswin')
         # use opt/debug, c/c++ tags.
         self.arch+= '-'+self.languages.clanguage.lower()
-        if self.compilerFlags.debugging:
+        if self.framework.argDB['with-debugging']:
           self.arch += '-debug'
         else:
           self.arch += '-opt'
diff --git a/config/PETSc/utilities/petscdir.py b/config/PETSc/utilities/petscdir.py
index ea1f2b9..c4fc87b 100644
--- a/config/PETSc/utilities/petscdir.py
+++ b/config/PETSc/utilities/petscdir.py
@@ -22,7 +22,6 @@ class Configure(config.base.Configure):
 
   def setupDependencies(self, framework):
     self.sourceControl = framework.require('config.sourceControl',self)
-    self.programs      = framework.require('config.programs',self)
     return
 
   def configureDirectories(self):

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Ideally the buffered stuff for configure.log should be only a few
lines - without any signigicant tests before it..

BTW: there is also etags/fortranstub stuff that configure does - that
can cause problems with simultaneous builds. So they should be done
with some locking scheme?

Satish




More information about the petsc-dev mailing list