Commits

BarryFSmith committed 501c201 Merge

Merge branch 'barry/fix-chaco'

Comments (0)

Files changed (3)

config/BuildSystem/config/package.py

     err =''
     if not self.downloadURLSetByUser and hasattr(self.sourceControl, 'git') and self.gitcommit and self.gitPreReqCheck():
       for giturl in self.giturls: # First try to fetch using Git
+        self.logPrintBox('Trying to download '+giturl+' for '+self.PACKAGE)
         try:
           gitrepo = os.path.join(self.externalPackagesDir, self.downloadname)
           self.executeShellCommand([self.sourceControl.git, 'clone', giturl, gitrepo])
           self.logPrint('ERROR: '+str(e))
           err += str(e)
     for url in download_urls:
+      self.logPrintBox('Trying to download '+url+' for '+self.PACKAGE)
       try:
         retriever.genericRetrieve(url, self.externalPackagesDir, self.downloadname)
         self.framework.actions.addArgument(self.PACKAGE, 'Download', 'Downloaded '+self.name+' into '+self.getDir(0))

config/PETSc/packages/Chaco.py

     self.downloadonWindows = 1
     return
 
+  def setupDependencies(self, framework):
+    PETSc.package.NewPackage.setupDependencies(self, framework)
+    self.dfunctions = framework.require('config.functions',self)
+    return
+
   def Install(self):
     import os
     self.framework.log.write('chacoDir = '+self.packageDir+' installDir '+self.installDir+'\n')
       self.postInstall(output+err, mkfile)
     return self.installDir
 
+  def configureLibrary(self):
+    PETSc.package.NewPackage.configureLibrary(self)
+    if self.dfunctions.check('ddot_',self.lib):
+      raise RuntimeError('You cannot use Chaco package from Sandia as it contains an incorrect ddot() routine that conflicts with BLAS\nUse --download-chaco')
+

src/vec/vec/utils/vecmpitoseq.c

 $        VecScatterEnd(ctx,vin,vout,INSERT_VALUES,SCATTER_FORWARD);
 $
 $        // destroy scatter context and local vector when no longer needed
-$        VecScatterDestroy(ctx);
-$        VecDestroy(vout);
+$        VecScatterDestroy(&ctx);
+$        VecDestroy(&vout);
 
 .seealso VecScatterCreate(), VecScatterCreateToAll(), VecScatterBegin(), VecScatterEnd()