Install scripts for dakota are set up for the most common configuration of each computer system. For example,
the linux scripts assumes that your system already has blas/lapack, and that they are in your path (eg. there
are already these libraries located in /usr/lib/).
If your system does not have these libraries, then you must build them, through petsc. First, make sure your
petsc install script has made blas/lapack. That means that the configure call in the install script must have
the following line included:
--download-fblaslapack=1 \
If it is not included, you must remake petsc with this option on. After petsc install is complete, you can check
that in externalpackages/petsc/install/lib/ , there exists the blas/lapack libraries:
libfblas.a
libflapack.a
If your install of dakota still fails, then you have to explicitly tell dakota to look in the petsc directory for these
libraries.
To do so, edit the externalpackages/dakota/configs/6.2/CMakeLists.txt.petsclibs.patch file, such that you specify
your explicit path to your petsc directory (i.e. remove the "/u/astrid-r1b/schlegel/issm/trunk/" and replace it
with your path). Do not use $ISSM_DIR; use the explicit path on your system.
Then, in your dakota install script, add the following line:
patch $DAK_SRC/CMakeLists.txt configs/6.2/CMakeLists.txt.petsclibs.patch
... at the end of the first set of patches, i.e. above the lines that read:
#Apply patches
patch src/src/NonDSampling.cpp configs/6.2/NonDSampling.cpp.patch
Your dakota should now recognize that its needed libraries are located with the petsc libraries,
and it should install without error.