[petsc-dev] generatefortranstubs.py cannot run concurrently

Satish Balay balay at mcs.anl.gov
Sat Mar 26 09:36:38 CDT 2011


fortranstubs,etags are common data for all builds. In case of multiple
builds one after another - it was ok to just rebuild each time.

With parallel builds - it doesn't make sense to rebuild fortranstubs,
etags parallely.

Perhaps we need some kind of locking mechanism? The first configure
cleates a lock - before starting a build and removes after completion.

If a subsequent configure comes to the state fo building etags [or
fortranstubs] - it checks the lock - and if it exists - skips the
build?

Satish

On Sat, 26 Mar 2011, Jed Brown wrote:

> Can temporary files be put in a private directory so that multiple
> reconfigures can be run simultaneously? I think the rest of configure works.
> 
> 
> *******************************************************************************
>                     UNABLE to EXECUTE BINARIES for ./configure
> -------------------------------------------------------------------------------
> [Errno 2] No such file or directory:
> '/home/jed/petsc/src/sys/viewer/interface/f90module.f90'
> *******************************************************************************
>   File "/home/jed/petsc/config/configure.py", line 272, in petsc_configure
>     framework.configure(out = sys.stdout)
>   File "/home/jed/petsc/config/BuildSystem/config/framework.py", line 922,
> in configure
>     child.configure()
>   File "/home/jed/petsc/config/PETSc/packages/sowing.py", line 123, in
> configure
>     self.buildFortranStubs()
>   File "/home/jed/petsc/config/PETSc/packages/sowing.py", line 83, in
> buildFortranStubs
>     generatefortranstubs.main(self.petscdir.dir, self.bfort,
> self.petscdir.dir)
>   File "/home/jed/petsc/bin/maint/generatefortranstubs.py", line 196, in
> main
>     os.path.walk(dir, processDir, [petscdir, bfort])
>   File "/usr/lib/python2.7/posixpath.py", line 237, in walk
>     walk(name, func, arg)
>   File "/usr/lib/python2.7/posixpath.py", line 237, in walk
>     walk(name, func, arg)
>   File "/usr/lib/python2.7/posixpath.py", line 237, in walk
>     walk(name, func, arg)
>   File "/usr/lib/python2.7/posixpath.py", line 237, in walk
>     walk(name, func, arg)
>   File "/usr/lib/python2.7/posixpath.py", line 229, in walk
>     func(arg, top, names)
>   File "/home/jed/petsc/bin/maint/generatefortranstubs.py", line 161, in
> processDir
>     FixDir(petscdir,outdir)
>   File "/home/jed/petsc/bin/maint/generatefortranstubs.py", line 123, in
> FixDir
> 




More information about the petsc-dev mailing list