How To install Kratos in Linux:
No special system requirements are required, however a sustancial amount of RAM is typically needed during the compilation. 1Gb RAM is advisable to be able to run the compilation is a reasonably short time
A number of programs/libraries should be available on the system prior to the installation. The user should verify the existance (and the installation path) of the following items:
- Python (2.4 or greater is advisable)
The kratos is built on the top of the boost library both for the compilation framework and for the python interface. The following items are normally available for download from the system repositories or can be downloaded from [www.boost.org] which also includes an installation tutorial
The library "SuperLU3.0" has to be compiled (or downloaded precomplied) to allow the compilation of the ExternalSolversApplication.
Finally a number of external libraries are included in the Kratos distribution and should be compiled prior to installation (please verify the copyright notice in case of applications of commercial interest) This libraries are
- gidpost library -- directory: "/external_libraries/gidpost/unix" -- compilation command: make
- tetgen library -- directory: "/applications/PFEMapplication/custom_external_libraries/tetgen/tetgen1.4.0" -- compilation command: "make tetlib"
- tetgen library -- directory: "/applications/PFEMapplication/custom_external_libraries/triangle" -- compilation command: "make trilibrary
- tetgen library -- directory: "/applications/ULFapplication/custom_external_libraries/tetgen/tetgen1.4.0" -- compilation command: "make tetlib"
- tetgen library -- directory: "/applications/ULFapplication/custom_external_libraries/triangle" -- compilation command: "make trilibrary
- ann library -- directory: "/applications/FSIapplication/custom_external_libraries/ann_1.1" -- compilation command: "make linux-g++ -->NOTE: the user should create a directory "lib" as this is not automatically done by the makefile
Configuring and Installing
Once all of the prerequisite are correctly installed the kratos is ready for its first compilation.
Step1: save the "Common_Jamroot" as "Jamroot" and edit it to customize the installation directories and the names of the directories to be included (this may vary depending on the Linux distribution) for example a compile error could be
cannot find -lboost_python-gcc-mt-1_34_1
because the jamfile haven't the appropriate name
Step2: compilation: from the directory kratosR1 type: "bjam threading=multi" for a compilation in release
Useful compilation options:
- -a recompile all
- -jN compiler using N processors
- debug compile in debug
- -d2 give details of the compilation process
Common reasons of failure for the compilation are the following:
- library missing (check the requirements)
- wrong installation path (see Jamroot) for the boost library header files
If the compilations appears to be correct but the program does not run satisfactorely, one should check that all the shared libraries are present in the system. To do so use the command "ldd" on the shared libraries in the directory (/kratosR1/libs/ )