[petsc-users] Configure/make with "--download-hdf5" or "--with-hdf5-dir=" crashes

Jed Brown jed at jedbrown.org
Tue Sep 2 08:24:42 CDT 2014


Matthew Knepley <knepley at gmail.com> writes:

> It did not build src/sys/classes/viewer/impls/hdf5/, clearly from the log.
> However, it
> should have. We have been trying to understand why Make behaves in a bad way
> after configuration failure. It should go away with make clean and another
> make.
>
> Jed, here is another case of this make bug.

Need to check PETSC_ARCH/conf/files to find out when the error occurs.
I suspect it is something to do with how conf/files is generated because
make has no distinction at all between optional and mandatory after
conf/files has been written.  But I don't know what would be happening
in the Python because the logic in there looks mighty deterministic to
me.  OTOH, make.log does not show the line where that file should be
generated, so perhaps the first build was using an old version of the
file?

I pushed this to 'maint'.  We need to take drastic actions to fix
'master', more on that coming to petsc-dev.

commit fce4001c127676bb645ba81e8336311793ef2275
Author: Jed Brown <jed at jedbrown.org>
Date:   Tue Sep 2 07:10:49 2014 -0600

    make: PETSC_ARCH/conf/files depends on PETSC_ARCH/include/petscconf.h
    
    When a PETSC_ARCH is reconfigured with an additional external package,
    petscconf.h is updated and we expect conf/files to be regenerated, but
    there was no explicit dependency causing that to happen.  I think this
    is the cause of the non-reproducible build failures that have been
    reported.  This commit adds the explicit dependency.
    
    Reported-by: Kai Song <ksong at lbl.gov>
    Reported-by: Åsmund Ervik <asmund.ervik at ntnu.no>

diff --git a/gmakefile b/gmakefile
index 37a7d09..03ee451 100644
--- a/gmakefile
+++ b/gmakefile
@@ -73,7 +73,7 @@ else                          # Show the full command line
   quiet = $($1)
 endif
 
-$(PETSC_ARCH)/conf/files :
+$(PETSC_ARCH)/conf/files : $(PETSC_ARCH)/include/petscconf.h
        $(PYTHON) conf/gmakegen.py --petsc-arch=$(PETSC_ARCH)
 
 -include $(generated)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140902/b14262a3/attachment.pgp>


More information about the petsc-users mailing list