[ET Trac] [Einstein Toolkit] #136: Don't rebuild external libraries so often
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Sat Jul 16 16:56:13 CDT 2011
#136: Don't rebuild external libraries so often
--------------------------+-------------------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Cactus | Version:
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Comment (by bmundim):
Hi,
the way I used to deal with this problem was simply to build the libraries
and move them elsewhere
outside the configuration directory or Cactus tree. That had worked fine
for me so far and I think
that would work for most people as well, since they can always name the
external directory to match
the configuration and let the config-info to exist there as well as a
reminder of the compiler options
used. However, recently, after one of those "sim-reconfig" that doesn't
actually reconfigure anything,
I erased the configuration that I used originally to build the libraries.
I started then to have
problems with the gsl library, which has already been installed.
Investigating this issue I found out
that the options set in GSL.sh uses ${GSL_DIR}/bin/gsl-config, which
actually hard coded the
original installation directory (the default on config/scratch/GSL). So
moving things around
ended up not being a good idea.
The best way, in my opinion, to deal with this issue at the moment would
be to let the user define
the installation directory in its .cactus/config option file. So whenever
we build the library
the script also looks for GSL_INSTALL_DIR variable and if it finds it
installs the library at
that user specified directory, otherwise it installs in the default
location at config/scratch/GSL.
We would set something like this in the .cactus/config file:
GSL_DIR = BUILD
GSL_INSTALL_DIR = /home/me/local/gsl-1.14
and after building and installation we would change to only
GSL_DIR = /home/me/local/gsl-1.14
in order to use it for most other configurations.
I have a patch attached with a small change to GSL.sh script. I encourage
you to give a look and
express your opinion. My proposal doesn't change the default behaviour. It
only adds an option
for the user to specify the installation directory. The only drawback I
can think of at the moment
it is that you may forget which configuration was used to build the
libraries. However, you could
always name the directory accordingly and we could improve the script to
make it dump a similar
config-info file there as a reminder, if really necessary
Anyway, I find annoying to have to rebuild libraries frequently and I hope
my proposed solution to
GSL.sh can be ported for the other library scripts as well and that it can
be really a step forward
on avoiding all this unnecessary and time consuming re-compilations.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/136#comment:9>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list