If you need to reuse reusing previously installed packages - its best
to install packages at a prefix location - and not list packages from
a different PETSC_ARCH [as there are other stuff here that can
conflict with the build]

1. Install all the packages.

./configure --prefix=$HOME/soft/packages --download-zlib --download-metis

2. Now use these preinstalled packages.

./configure --with-zlib-dir=$HOME/soft/packages 
-with-metis-dir=$HOME/soft/packages

Note: you can avoid --download-zlib by using distro package in the VM.

And --with-mpich-dir= should be --with-mpi-dir=

Satish

On Sun, 2 Aug 2020, Barry Smith wrote:

> 
>   Jacob,
> 
>     Since the reconfigure scripts are python you'll need to use python 
> variables to access environmental variables like os.environ['PETSC_DIR'] 
> 
>   Barry
> 
> 
> > On Aug 2, 2020, at 1:57 PM, Jacob Faibussowitsch <[email protected]> 
> > wrote:
> > 
> > Hello All,
> > 
> > I am reconfiguring an arch within a docker using the attached reconfigure 
> > script. My petsc dir is mounted via the following commands to docker -v 
> > ${PETSC_DIR}:/petsc:delegated. I am trying to use the existing arches on my 
> > native machine as the install directories for packages compiled within the 
> > docker images because SSH keys aren’t persistent in the images and hence 
> > git pull’s won’t work. I encountered this odd bug when trying 
> > —with-zlib-dir where it prepends the existing $PETSC_DIR to the directory 
> > name automatically, but this problem persists for any package. 
> > 
> > There is no configure.log generated since this I guess is early enough in 
> > the configure process, so unfortunately the only error output is the wall 
> > of error text from terminal. The error indicates that configure is passing 
> > ./[COMMAND LINE DIRECTORY] instead of [COMMAND LINE DIRECTORY] to configure.
> > 
> > $ ls ${PETSC_DIR}/master-arch-darwin-c-debug/externalpackages/
> > Permissions Size User Date Modified Name
> > drwxrwxr-x    - root  8 Jul 16:07    petsc-pkg-mumps-d1a5c931b762
> > drwxr-xr-x     - root  3 Jul 21:39    hdf5-1.12.0
> > drwxrwxr-x    - root  1 Aug 21:34  netcdf-c-4.5.0
> > drwxr-xr-x     - root  3 Jul 21:38    zlib-1.2.11
> > drwxr-xr-x     - root 29 Jul 17:43   mpich-3.3.2
> > drwxr-xr-x     - root  6 Jul 17:06    Chaco-2.2-p2
> > drwxr-xr-x     - root  1 Aug 21:36  git.ctetgen
> > drwxr-xr-x     - root  1 Aug 21:34  git.exodusii
> > drwxr-xr-x     - root  1 Aug 21:31  git.med
> > drwxr-xr-x     - root  1 Aug 21:31  git.metis
> > drwxr-xr-x     - root  1 Aug 21:31  git.parmetis
> > drwxr-xr-x     - root  1 Aug 21:32  git.pnetcdf
> > drwxr-xr-x     - root  1 Aug 21:35  git.scalapack
> > drwxr-xr-x     - root  1 Aug 21:31  git.sowing
> > drwxr-xr-x     - root  1 Aug 21:34  git.triangle
> > 
> > $ echo $PETSC_DIR
> > /petsc
> > 
> > $./reconfigure-arch-linux-c-debug
> > ===============================================================================
> >              Configuring PETSc to compile on your system                    
> >    
> > ===============================================================================
> > *******************************************************************************
> >     TypeError or ValueError possibly related to ERROR in COMMAND LINE 
> > ARGUMENT while running ./configure 
> > -------------------------------------------------------------------------------
> > Nonexistent directory: 
> > /petsc/${PETSC_DIR}/master-arch-darwin-c-debug/externalpackages/zlib-1.2.11 
> > for key with-zlib-dir
> > *******************************************************************************
> > 
> > 
> >   File "/petsc/config/configure.py", line 449, in petsc_configure
> >     framework = 
> > config.framework.Framework(['--configModules=PETSc.Configure','--optionsModule=config.compilerOptions']+sys.argv[1:],
> >  loadArgDB = 0)
> >   File "/petsc/config/BuildSystem/config/framework.py", line 107, in 
> > __init__
> >     self.createChildren()
> >   File "/petsc/config/BuildSystem/config/framework.py", line 324, in 
> > createChildren
> >     self.getChild(moduleName)
> >   File "/petsc/config/BuildSystem/config/framework.py", line 309, in 
> > getChild
> >     config.setupDependencies(self)
> >   File "/petsc/config/PETSc/Configure.py", line 91, in setupDependencies
> >     obj = self.registerPythonFile(package,'config.packages')
> >   File "/petsc/config/PETSc/Configure.py", line 49, in registerPythonFile
> >     utilityObj                             = 
> > self.framework.require(directory+utilityName, self)
> >   File "/petsc/config/BuildSystem/config/framework.py", line 329, in require
> >     config = self.getChild(moduleName, keywordArgs)
> >   File "/petsc/config/BuildSystem/config/framework.py", line 309, in 
> > getChild
> >     config.setupDependencies(self)
> >   File "/petsc/config/BuildSystem/config/packages/ADIOS.py", line 17, in 
> > setupDependencies
> >     self.zlib           = framework.require('config.packages.zlib',self)
> >   File "/petsc/config/BuildSystem/config/framework.py", line 329, in require
> >     config = self.getChild(moduleName, keywordArgs)
> >   File "/petsc/config/BuildSystem/config/framework.py", line 307, in 
> > getChild
> >     config.setup()
> >   File "/petsc/config/BuildSystem/config/base.py", line 94, in setup
> >     script.Script.setup(self)
> >   File "/petsc/config/BuildSystem/script.py", line 108, in setup
> >     logger.Logger.setup(self)
> >   File "/petsc/config/BuildSystem/logger.py", line 75, in setup
> >     args.ArgumentProcessor.setup(self)
> >   File "/petsc/config/BuildSystem/args.py", line 76, in setup
> >     self.setupArguments(self.argDB)
> >   File "/petsc/config/BuildSystem/script.py", line 92, in setupArguments
> >     self.setupHelp(self.help)
> >   File "/petsc/config/BuildSystem/config/packages/zlib.py", line 16, in 
> > setupHelp
> >     config.package.Package.setupHelp(self, help)
> >   File "/petsc/config/BuildSystem/config/package.py", line 156, in setupHelp
> >     
> > help.addArgument(self.PACKAGE,'-with-'+self.package+'-dir=<dir>',nargs.ArgDir(None,None,'Indicate
> >  the root directory of the '+self.name+' installation',mustExist = 1))
> >   File "/petsc/config/BuildSystem/help.py", line 108, in addArgument
> >     self.argDB.setType(self.getArgName(name), argType, forceLocal = 1)
> >   File "/petsc/config/BuildSystem/RDict.py", line 222, in setType
> >     value.setValue(v.getValue())
> >   File "/petsc/config/BuildSystem/nargs.py", line 325, in setValue
> >     raise ValueError('Nonexistent directory: '+str(value)+' for key 
> > '+str(self.key))
> > 
> > 
> > <reconfigure-arch-linux-c-debug.py>
> > 
> > Best regards,
> > 
> > Jacob Faibussowitsch
> > (Jacob Fai - booss - oh - vitch)
> > Cell: (312) 694-3391
> > 
> 
> 

Reply via email to