On Tue, 30 Jun 2009, Tom Marsh wrote:
> How do I force a complete re-compilation? Having compiled with g95 by
> mistake, I want to re-compile everything with gfortran. I tried 'make
> distclean' and removing the config.cache, but 'make world' skips all
> compilation up to 'gaia' (where I hit a problem with g95) and
> comes back with:
>
> make world
> cd applications/gaia \
> && (make && make install) >make.log 2>make.log.err || { cat
> make.log.err; false; }
> configure: error: `FC' was not set in the previous run
> configure: error: changes in the environment can compromise the build
> configure: error: run `make distclean' and/or `rm ../config.cache' and start
> over
> make[3]: *** [../gaia/Makefile] Error 1
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all] Error 2
> make: *** [/home/phsaap/software/gstar/manifests/gaia] Error 1
You need to clear out the manifests directory:
rm -rf $STARCONF_DEFAULT_PREFIX/manifests
and remove all caches, not just the top-level one:
find . -name config.cache | xargs rm
The manifest files determine the out-of-date order of whole packages, so
it they are unchanged the cleaned packages will not be recompiled during
"make world".
(note a simple "make" would visit everything, but not necessarily in the
correct order, and some purposely unbuilt components would also get built,
so don't do that).
To get your clone back to just checked out condition you can use the:
git clean -fdx
command as a last resort, then it would be back to ./bootstrap.
Cheers,
Peter.
|