[Devel] DAKOTA build update






DAKOTA build update




The steps involved in building DAKOTA with the new PGI
compiler license are:



1) In the Earlier build it was observed that LAPACK library file
'liblapack.a' was using certain ATLAS functions (i.e., after ATLAS was
installed), this had replaced some of the functions in the lapack
library file to which DAKOTA was referencing. This problem was overcome
by removing ATLAS and rebuilding LAPACK again. But, In order to maintain
an independent build process without changing the system
installations:



a) A tar ball of LAPACK - Version 3.0 Release 25.1 source was built
within DAKOTA sub-directory. The steps followed were:



 For Linux platform, the LAPACK Make include file (make.inc.LINUX)
in the /INSTALL directory of LAPACK source was moved to the root of
LAPACK source  and renamed 'make.inc'



 Following changes were made in 'make.inc' file:



 In 'make.inc', The machine (platform) identifier to append to the
library names was removed/commented



 #PLAT = _LINUX



 LAPACK source includes BLAS library source as well and can be
built along with it, but since it was already present in the system and
DAKOTA had no issues with it, i used the existing BLAS library



 BLASLIB      = /usr/lib/libblas.a



 LAPACK library name was changed,



 LAPACKLIB    = liblapack.a



libraries to be built in 'Makefile' was specified,



 lib: lapacklib tmglib



A symbolic link to BLAS library was provided in the LAPACK root
directory (this was done to include BLAS library for DAKOTA build)



 ln -s /usr/lib/libblas.a libblas.a



After the 'make' of LAPACK source 'liblapack.a' library file will be
created in LAPACK root directory



 /home/vinayrao/Dakota/lapack-build/LAPACK/liblapack.a



2) FLEX and YACC needs to installed on the system for DAKOTA build,



3) After extracting DAKOTA source from the tar file,



   setenv DAKOTA <path_to_your_install_dir>/Dakota



4) cd $DAKOTA/VendorPackages



   ln -s <path_to_mpi_dir> mpi



5) In the config directory inside Dakota, we need to update the path to
the PGI library in "mt-linux" file and also path to LAPACK
library,



 TGT_F90_LIB_PATH = -L/home/vinayrao/Dakota/lapack-build/LAPACK
-L/share/apps/pgi/linux86/5.2/lib



also,



 ARCH_LIB_PATH   = -L/usr/lib



path to shared libraries can be set in LD_LIBRARY_PATH environment
variable,



6) In 'configure.in' file append,



   configdirs="VendorPackages VendorOptimizers
src"



'Test' and 'GettingStarted' directories are not required,



7) ./configure --without-dot --without-npsol --without-coliny



8) Make the source, Once make has successfully completed, the generated
DAKOTA executables (dakota and dakota_restart_util) will reside in
$DAKOTA/src/<canonical_build_dir>, where
<canonical_build_dir> is a descriptor generated by configure to
identify the platform and operating system under which the executable
was built. Copies of the executables are placed in $DAKOTA/bin and
copies of the libraries (libdakota.a et al.) are placed in
$DAKOTA/lib.



Thanks,

Vinay Rao