Building FEniCS repeatedly takes too much time. How do I speed up Dorsal by telling it to skip some packages?
- Keywords:
- installation rebuild skip
The FEniCS Project is under active development. If you are
interested in keeping up with the development versions of its
components, you will want to frequently rerun dorsal.sh (with
STABLE_BUILD set to false in dorsal.cfg).
Unfortunately, Dorsal is not currently smart enough to automatically
figure out what it has previously installed. It will insist on
rebuilding all projects and their dependencies, even though you are
probably only interested in tracking a few fast-changing FEniCS
Project components.
In order to get around this limitation, Dorsal has a package
skipping mechanism which you can use to manually specify packages
you would like it to skip on subsequent rebuilds. The following
steps describe how you use this mechanism to rebuild just the
projects you want to track.
1. Ensure that STABLE_BUILD set to false in dorsal.cfg. This makes
sure Dorsal knows to fetch and build development versions of
projects.
2. Create a new copy of your system's platform file
(
myplatfor
cd platforms
cp system.platform myplatform.platform
3. Open myplatform.platform in your favourite text editor, and
prepend the string `skip:' (without the quotes) before every
package on the list PACKAGES you would like Dorsal to skip on
subsequent builds. So now, your list might look something like
the following:
PACKAGES=(
skip:parmetis
skip:petsc
skip:slepc
skip:gmp
skip:mtl
skip:trilinos
skip:scotch
fiat
ferari
ufc
ufl
ffc
viper
instant
dolfin
)
See the file fenics.platform for a an example of what I use on
my (Mac OS X Leopard) machine. Notice that this file is
identical to leopard.platform, with a few packages 'skip:'ped.
4. Now, every time you wish to rebuild just the few packages you
want to track, invoke Dorsal via:
./dorsal.sh platforms/
Using Dorsal in this manner should save you a lot of time if you
need to rebuild FEniCS often.