Windows 7 Download and Installation
Last Edited: July 2014
This page is being edited and some content may be inaccurate.
Contents |
How to compile Kratos: Windows
In this section we are going to go through the process of compiling a basic version of Kratos Multiphysics under Windows environments. Specifically, we explain how to compile Kratos in Windows 7/8/8.1 and 10, with the latest checked libraries. A basic knowledge of Windows is assumed ( execute commands in cmd, create directories, etc...)
If you are not familiar with the following concepts listed below, please take five minutes read the windows basic section.
Visual Studio
Visual studio is the only compiler officially supported to build Kratos under Windows. We recommend you to download the most recent version of visual studio. Although, a list of the known working versions is presented here ( Professional variants also work):
VisualStudio 2015 Community: https://www.microsoft.com/en-US/download/details.aspx?id=48146 VisualStudio 2013 Community: https://www.microsoft.com/en-US/download/details.aspx?id=44914 VisualStudio 2012 Express : https://www.microsoft.com/en-US/download/details.aspx?id=34673
Please notice that if you want OpenMP support you must download a Community version or Professional version. Express version do not have support for OpenMP
Subversion
- Objectives:
- Install subversion
- Get Kratos Multiphysics source code
The first thing you will need is the Kratos Multiphysics source code. To download the code you will have to use a subversion manager. You can install a default subversion manager from the link below. Please, notice that if you install a different svn manager you may need to add it to the system path. The suggested manager is the official svn client, which you can dowload here:
https://sourceforge.net/projects/win32svn/
Once subversion is installed you can fetch the code by executing the command below in the command line:
svn co https://svn.cimne.upc.edu/p/kratos/kratos .
Once this is done, you should have a "kratos" directory containing Kratos soruces
Python
- Objectives:
- Get Python3
You will need any version of python in your computer in order to compile Kratos. We strongly recommend Python 3, at least 3.3.4 or higher. you can download python from its official webpage:
https://www.python.org/downloads/
Please, take special care to download a installer that suits your desired architecture x86 for 32 bits compilations and x86_64 for 64 bits compilations. Otherwise it won't work.
Dev Packages
- Objectives:
- Get LIBBLAS and LIBLAPACK
Boost
- Objectives:
- Compile boost libraries
The next step will consist in compile Boost. Kratos Multiphysics needs Boost libraries to support some of its functions. You can use any version from version 1.54 onwards, please notice that version version 1.60 is not supported due to a bug with python wrappers. It's very important to add the correct path to the boost library in the configure.sh, see more below. You can download boost from its official website:
http://www.boost.org/users/download/
Navigate to the directory where you have extracted boost and execute this command:
bootstrap
Some additional files will be generated.
By default, boost will try to link with python 2.7. It is important to manually specify that we want to use python 3 by adding your downloaded python version. For example, if you have python 3.3.4 you should add “using python : 3.3 : /usr ;” to the file project-config.jam:
For 32 bits:
using python : 3.3 : C:\\Python33\\python ;
For 64 bits:
using python : 3.3 : C:\\Python33\\python : : : <address-model>64 ;
After modifying it you will have to compile the required boost libraries using the command below. Notice that this will only compile “serialization” and “python” libraries. If you need further libraries, you will need to explicitly tell boost to compile them. You need to know which version of msvc you are using.
Visual studio 2015: --toolset=msvc-14.0
Visual studio 2013: --toolset=msvc-12.0
Visual studio 2012: --toolset=msvc-11.0
Visual studio 2010: --toolset=msvc-10.0
For 32 bits:
b2 --toolset=msvc-14.0 --build-type=complete architecture=x86 stage --with-python --with-serialization variant=release link=shared,static
For 64 bits:
b2 --toolset=msvc-14.0 --build-type=complete architecture=x86 address-model=64 stage --with-python --with-serialization variant=release link=shared,static
CMake
- Objectives:
- Install CMake
Cmake is the tool used to compile kratos. You can obtain it from its official webpage.
https://cmake.org/download/
Please notice that if you want to use python 3.4 or higher, you will need CMake 3.0.2 or higher.
Automatic
Preliminaries
Before compiling any version of Kratos under Windows you will need to install Microsoft Visual Studio. We strongly recommend you to use version 2012 which can be found here:
http://www.microsoft.com/es-es/download/details.aspx?id=34673
|
Compiling
There are a couple of automatic compiler/installer both for 32 and 64 bits that will set up all the libraries required by Kratos and perform the compilation process automatically. The process is fully automated and you will only have to specify the install directory and click "next" You can found the installers here:
For 32 Bits: https://web.cimne.upc.edu/users/croig/data/kratos-3.3.dev-win-32.exe
For 64 Bits: https://web.cimne.upc.edu/users/croig/data/kratos-4.0.dev-win-64.exe
After using these installers you will have the last version available in the repository compiled.
Notice that these installers will overwrite any previous version of the prerequisite libraries on your machine. The complete list of the libraries installed is the following:
- Python 3.3.3 // Python 3.3.4 ( for 32 and 64 bit versions respectively )
- Svn 1.8.0.1
- CMake 3.0.2
- ACML 4.4
Manual
Preliminaries: Components needed to install the Kratos
- Note that this is a specific case of possible installation of Kratos in 32 bits under Windows 7, and all the different components are not compulsory for the successful use of Kratos. You can select other equivalent C++ compilers, svn, etc. or other versions of those we are presenting. If you are running a 64 bit machine it will also work. To keep the instalation process easy here is only described the 32 bit installation. It is also possible to do the 64 bit installation, but you will have to compile the Boost library yourself since its Installer is only for the 32 bit version.
- Two examples of organization of files are provided. Of course, you should select only one of them.
- Make sure that all the libraries that you need are installed in directories that do not have spaces. The classic "/program files" directory might cause problems for ths reason and the error does not give an insight on the problem, so better use spaceless directories.
C++ compiler. Microsoft Visual Studio 2010
- For developers using Windows, we recommend to use Microsoft Visual Studio 2010. If you are working with a 64 bits machine, be sure that you include the 64 bits tools in your MSVS installation.
SVN
- It is recommended to use RapidSVN
- The latest released version: 0.12, October 2009, RapidSVN-0.12.0-8051.exe
- Download and run the file:
Kratos Source Code
- By using RapidSVN, the kratos source files can be downloaded by taking the following steps:
- Go to Repository->Checkout and enter the following path to the kratos repository:
- By using RapidSVN, the kratos source files can be downloaded by taking the following steps:
https://svn.cimne.upc.edu/p/kratos/kratos
- Choose a working directory where module: kratos will be created in your pc
- example A: "C:\Kratos2010"
- example B: "D:\Kratos2010"
- Warning! Avoid using the root directory if you need to commit files to the SVN.
- "recursive" option have to be signed
- this will create a folder "C:\Kratos2010\kratos" or "D:\Kratos2010\kratos" with all the required Kratos files.
- Choose a working directory where module: kratos will be created in your pc
Pre and Post Processor. GiD
- We use GiD as our favourite pre and post-processor.
- Download and install the latest version of GiD. Here we use the latest beta version for 64 bits (GiD9.2.9b-win-x64-Install.exe)
Cmake
The compilation of the Kratos is now cmake-based. Cmake can be installed in the system download it from http://www.cmake.org/ . Using the installer is the easiest way.
DO NOT FORGET TO CHECK THE OPTION "Add CMake to the system PATH for all users"
Sometimes spaces in the PATH can cause problems in Windows, so install it simply in, for example: C:\CMake2.8
Still, if you get an error message stating that the path could not be modified, you'll have to add the following enviroment variable:
PATH=C:\CMake2.8\bin
Scripting Language Python.
- After the installation, you should check that Python has created a folder called "C:\Python27\libs" or "D:\Python27\libs".
Boost Library
- Kratos uses the Boost library.
- Boost provides free peer-reviewed portable C++ source libraries.
Install the boost library
- You can install and build manually the boost library or you can directly use an installer. As said in the boost webpage: "The easiest way to get a copy of Boost is to use an installer. The Boost website version of this Getting Started guide will have undated information on installers as they become available, or see Boost downloads or the installer provided by BoostPro Computing. We especially recommend using an installer if you use Microsoft Visual Studio, because the installer can download and install precompiled library binaries, saving you the trouble of building them yourself."
- For 32 bits machines. Download and run BoostPro Installer (Version 1.47 has some issues, so it's better install version 1.46.1, unless version 1.48 or newer is available).
- select Visual C++ 10.0 (Microsoft Visual Studio 2010) and all the variants
- select all the components
- select "C:\boost_1_46" as Destination Folder. Do not use a folder with spaces such as C:\Program Files since Cmake might have problem with spaces
- check that the following specific folders have been created: \boost_1_46\lib and \boost_1_46\bin
- For 64 bits machines. You need to manually build the library. Take a look to: http://www.boost.org/doc/libs/1_47_0/more/getting_started/windows.html
- As an example, for a Windows 7, 64 bits version, with python2.7 installed in D:, the steps are the following:
- open a command window
- go to your boost root folder: C:\boost_1_46
- run bootstrap.bat. This will create the necessary build files
- modify your project-config.jam file, by adding:
- using mpi ;
- using python : 2.7 : D:\\Python27\\python : : : <address-model>64 ;
- execute: b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage --with-python --with-serialization variant=release link=shared,static
- copy the files from the C:\boost_1_46\stage\lib folder to the C:\boost_1_46\lib folder
- Take care with the compatibility between boost, the python and MS Visual Studio versions!
- As an example, for a Windows 7, 64 bits version, with python2.7 installed in D:, the steps are the following:
Environment variables
Since at the end Kratos will be a standalone application, with all the needed libraries inside its folder, there's no need to set the enviroment varibles
Lapack library for External Solver Application
These libraries are required for the installation of the external solver application, otherwise override this step.
For win32 platform the binaries can be downloaded from:
http://developer.amd.com/amd-license-agreement/?f=acml4.4.0-pgi32.exe
You must download the 32 bit PGI version ( acml4.4.0-pgi32.exe when this page was las modified)
After installation you'll have to edit your configure file so that it points to the directions where the .lib files are, for example by default the files are installed at:
-DBLAS_INCLUDE_DIRS="C:\AMD\acml4.4.0\pgi32\include" ^ -DLAPACK_INCLUDE_DIRS="C:\AMD\acml4.4.0\pgi32\include" ^ -DLAPACK_LIBRARIES="C:\AMD\acml4.4.0\pgi32\libacml_dll.lib" ^ -DBLAS_LIBRARIES="C:\AMD\acml4.4.0\pgi32\lib\libacml_dll.lib" ^
Note that the External Solver application is set in OFF by default in the configure.bat.do_not_touch, so you'll have to add the previous lines in you configure.bat if you want to install it.
Compiling Kratos
Customize configure.bat
- In the Kratos root folder ("C:\Kratos2010\cmake_build") copy the example_configure.bat.do_not_touch to configure.bat . Check if the path of boost and external library are correct and see if the aplication that you will use to be switch on.
Running configure.bat
Finally run configure.bat and if all is correct, the file ALL_BUILD.vcxproj will be generated.
It is convenient to run it in the Visual Studio Command Prompt (the 32 bit version) or a console (START->RUN and type "cmd"). This way the console will not close once it has finished configuring and therefore you can check everything is ok.
Note: Check that the Python and Boost's version are correct together with the path.
Microsoft Visual Studio 2010 Kratos Project
Open the file KratosMultiphysics.sln with Visual Studio 2010 and now we can proceed to compile Kratos. Once inside in Visual Studio 2010, it is neccesary to follow the following steps
a) go to -> View -> Property Manager ->
Note: see bellow picture.
b) Click with the right botton over the ALL_BUILD and select PROPERTIES
Note: see bellow picture.
c)Finally, select the botton corresponding CONFIGUTARION MANAGER and select INSTALL
Note: see above picture.
Compilation Kratos
- IMPORTANT: Change the output mode to Release ( by default it is usually in Debug, as pictured above)
- Select Build - Build Solution (or simply hit F7 in the keyboard
Finally, to complete the creation of standalone copy of the Kratos you'll need to add some dlls that won't be present in most host machines. Moreover, it is also necessary to do this in your PC since some of the libraries you've just installed were not declared in the enviroment variables and therefore your system wouldn't be able to find them by itself. These libraries are the ones belonging to Python, Boost, lapack and blas. By adding the following files you can run krun.exe directly, even if you run Kratos in another machine where you haven't intalled these libraries.
Have in mind that the files provided in the zips below are for the version mentioned in the previous steps, so if you installed newer versions you'll have to look for the files inside the libraries' installation folders.
- in the root directory of the installation path ( File:In the base install dir.zip ):
- python27.dll
- python27.zip (containing the folders libs and DLLs from python)
- in /libs ( File:In libs.zip ):
- blas_win32_MD.dll
- boost_python-vc100-mt-1_46_1.dll
- lapack_win32_MD.dll
- libacml_dll.dll
- pgc.dll
- pgftnrtl.dll
Once you've done this, to run you script you can simply go to the directory where your problem is and type in a console:
C:\kratos_install_dir\runkratos.exe my_python_script.py
and your problem should start running.