[petsc-users] how to rebuild from updated repo

Matthew Knepley knepley at gmail.com
Mon Nov 7 16:10:17 CST 2011


On Mon, Nov 7, 2011 at 10:07 PM, Shao-Ching Huang <huangsc at gmail.com> wrote:

> Thanks guys.
>
> I was thinking rebuilding in 5 seconds, if I could reuse most of the
> already-built .o files. (Like in a typical makefile scenario -- only
> the changed source files are re-compiled). It seems that the petsc
> "make" command cleans up all the .o files automatically.
>

Ah, this is a different discussion. We have no good dependencies that
signal a
reconfigure. It is complicated.

However, if you only care about rebuilding, both CMake (the 'make' command)
and Python (the builder2.py build command) take into account dependencies,
so they will only rebuild what changes.

   Matt


> I have no problem of rebuilding the whole thing afresh. Actually that
> is what I have been doing.
>
> Thanks,
>
> Shao-Ching
>
> On Mon, Nov 7, 2011 at 1:56 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >
> >  If you find that ./configure or the make are taking a huge amount of
> time you might investigate where the files are stored. If, for example,
> they are stored on a separate file server it may be most of the time is due
> to the file server. For example configuring and compiling each take me
> about 5 minutes on my laptop; on a desktop using a file server might take
> 1/2 an hour.
> >
> >   Barry
> >
> > On Nov 7, 2011, at 3:52 PM, Satish Balay wrote:
> >
> >> On Mon, 7 Nov 2011, Shao-Ching Huang wrote:
> >>
> >>> Hi
> >>>
> >>> I downloaded petsc using the "hg clone
> >>> http://petsc.cs.iit.edu/petsc/releases/petsc-3.2" method. Now, after
> >>> hg pull/update (some files are changed), do I always have to build
> >>> from scratch (i.e. compiling everything, including the --download-xxx
> >>> stuff)? Is there a short cut to rebuild libpetsc.{so,a} when I have no
> >>> configuration change?
> >>
> >> This is a tricky thing. Generally updates to petsc-3.2 should not
> >> require a rerun of configure or a rebuild of all library code - but
> >> this is not always true. [sometimes you might have to pull/update
> >> BuildSystem and rerun configure - or rebuild externalpackages - as the
> >> tarballs for these packages get updated].
> >>
> >> For the generaly case - an update of the libraries can be done with:
> >>
> >> [for cmake build]
> >> make
> >>
> >> [for non-cmake build]
> >> make ACTION=lib tree
> >>
> >> And if a rerun of configure is needed - one can run
> >> ./PETSC_ARCH/conf/reconfigure_PETSC_ARCH.py
> >>
> >> Satish
> >
> >
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111107/e766b77b/attachment-0001.htm>


More information about the petsc-users mailing list