Windows 7 Download and Installation

From KratosWiki
Revision as of 12:30, 16 February 2016 by Roigcarlo (Talk | contribs)
Jump to: navigation, search

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 fife 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

Warn_icon.gif Warning. Please, note that: Microsoft Visual Studio has a limitation regarding the number of characters that files ( including absolute path ) can have, being its maxium 260. If any of the files used during the compilation proces exceeds this maxium the proces will fail. For more information please refer to http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2156195-fix-260-character-file-name-length-limitation

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:
RapidSVN.1.jpgRapidSVN.2.jpg

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:
        https://svn.cimne.upc.edu/p/kratos/kratos
RapidSVN.3.jpgRapidSVN.4.jpg
  • 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.
RapidSVN.5.jpg

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)
GiDInstall.1.jpgGiDInstall.2.jpg
GiDInstall.3.jpgGiDInstall.4.jpg

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.

Python can be downloaded from here. At this moment the python Python 2.7.2 is supported.
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
BoostInstall.1.jpgBoostInstall.2.jpg
  • select all the components
BoostInstall.3.jpgBoostInstall.4.jpg
  • 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
BoostInstall.9.jpg
BoostInstall.7.jpgBoostInstall.8.jpg
  • check that the following specific folders have been created: \boost_1_46\lib and \boost_1_46\bin
BoostInstall.10.jpgBoostInstall.11.jpg
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!

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.


Configure2.png

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.

Cmake1ff.png

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.

Ffddd.png

b) Click with the right botton over the ALL_BUILD and select PROPERTIES

Note: see bellow picture.

Fffddd.png

c)Finally, select the botton corresponding CONFIGUTARION MANAGER and select INSTALL

Note: see above picture.

Compilation Kratos

MSVS2008 Compile Kratos.1.jpg
  • 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.

  • python27.dll
  • python27.zip (containing the folders libs and DLLs from python)
  • 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.

Running script.png

Personal tools
Categories