Windows 7 Download and Installation

From KratosWiki
(Difference between revisions)
Jump to: navigation, search
(Replaced content with "The information in this page was moved to GitHub: https://github.com/KratosMultiphysics/Kratos/wiki/Windows-Install")
 
(103 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''Last Edited: July 2014'''
+
The information in this page was moved to GitHub: https://github.com/KratosMultiphysics/Kratos/wiki/Windows-Install
 
+
<span style="color:red">This page is being edited and some content may be inaccurate.</span>
+
 
+
== 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 <span style="color:red">'''version 1.60 is not supported'''</span> 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: <span style="color: red">--toolset=msvc-14.0</span><br>
+
Visual studio 2013: <span style="color: red">--toolset=msvc-12.0</span><br>
+
Visual studio 2012: <span style="color: red">--toolset=msvc-11.0</span><br>
+
Visual studio 2010: <span style="color: red">--toolset=msvc-10.0</span><br>
+
 
+
'''For 32 bits:'''
+
    b2 <span style="color: red">--toolset=msvc-14.0</span> --build-type=complete architecture=x86 stage --with-python --with-serialization variant=release link=shared,static
+
 
+
'''For 64 bits:'''
+
    b2 <span style="color: red">--toolset=msvc-14.0</span> --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
+
 
+
{{warning |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 [http://msdn.microsoft.com/en-gb/express/default.aspx 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 [http://www.rapidsvn.org/ RapidSVN]
+
 
+
::The latest released version: 0.12, October 2009, RapidSVN-0.12.0-8051.exe
+
 
+
::Download and run the file:
+
 
+
::[[Image:RapidSVN.1.jpg]][[Image:RapidSVN.2.jpg]]
+
 
+
==== Kratos Source Code ====
+
 
+
::By using RapidSVN, the kratos source files can be downloaded by taking the following steps:
+
::* Go to <tt> Repository->Checkout </tt> and enter the following path to the kratos repository:  
+
        https://svn.cimne.upc.edu/p/kratos/kratos
+
 
+
::[[Image:RapidSVN.3.jpg]][[Image:RapidSVN.4.jpg]]
+
 
+
::* Choose  a working directory where module: <tt>kratos</tt> 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.
+
 
+
::[[Image:RapidSVN.5.jpg]]
+
 
+
==== Pre and Post Processor. GiD ====
+
 
+
::We use [http://www.gidhome.com '''GiD'''] as our favourite pre and post-processor.
+
 
+
::Download and install the latest version of [http://www.gidhome.com/download/do07.html '''GiD''']. Here we use the latest beta version for 64 bits (GiD9.2.9b-win-x64-Install.exe)
+
 
+
::[[Image:GiDInstall.1.jpg]][[Image:GiDInstall.2.jpg]]
+
 
+
::[[Image:GiDInstall.3.jpg]][[Image:GiDInstall.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.
+
 
+
<font color=red> DO NOT FORGET TO CHECK THE OPTION </font> '''"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.  ====
+
 
+
::[http://www.python.org/ Python] can be downloaded from [http://www.python.org/download/ 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 [http://www.boost.org/ 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 [http://www.boost.org/doc/libs/1_42_0/more/getting_started/windows.html 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 [http://www.boostpro.com/download 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
+
 
+
::[[Image:BoostInstall.1.jpg]][[Image:BoostInstall.2.jpg]]
+
 
+
::* select all the components
+
 
+
::[[Image:BoostInstall.3.jpg]][[Image:BoostInstall.4.jpg]]
+
 
+
::* select "'''C:\boost_1_46'''"  as Destination Folder. <font color=red>Do not use a folder with spaces such as '''C:\Program Files''' since Cmake might have problem with spaces </font>
+
 
+
::[[Image:BoostInstall.9.jpg|294 px]]
+
 
+
::[[Image:BoostInstall.7.jpg]][[Image:BoostInstall.8.jpg]]
+
 
+
::* check that the following specific folders have been created: '''\boost_1_46\lib''' and '''\boost_1_46\bin'''
+
 
+
::[[Image:BoostInstall.10.jpg|400 px]][[Image:BoostInstall.11.jpg|400 px]]
+
 
+
::'''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
+
 
+
<!--
+
 
+
::* Check your environment variables (Control Panel->System and Security->System->Advanced System Settings)
+
::[[Image:Boost-Build_Install.3.jpg]]
+
 
+
::[[Image:Boost-Build_Install.4.jpg]][[Image:Boost-Build_Install.5.jpg]]
+
 
+
::* Define the following variables:
+
 
+
  '''    Internal variables'''
+
      PATH C:\boost_1_46;C:\boost_1_46\lib
+
      PYTHONPATH C:\Kratos2010; C:\Kratos2010\libs
+
 
+
 
+
      '''System Variable'''
+
      BOOST_ROOT C:\boost_1_46
+
      BOOST_Build_PATH C:\boost_1_46
+
      BOOST_LIBRARYDIR         C:\boost_1_46\lib;
+
      Path C:\python27;C:\boost_1_46;C:\boost_1_46\lib
+
      PYTHON_PATH         C:\Kratos2010;C:\python27
+
      Python27  C:\python27
+
 
+
Once you have done this, you'll be able to run python from any directory by simply typing "python" in the console instead of its full instalation path.
+
-->
+
 
+
==== 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.
+
 
+
 
+
 
+
::[[Image: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.
+
 
+
::[[Image: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.
+
 
+
[[File:ffddd.png]]
+
 
+
b) Click with the right botton over the ALL_BUILD and select PROPERTIES
+
 
+
Note: see bellow picture.
+
 
+
[[File:fffddd.png]]
+
 
+
c)Finally, select the botton corresponding CONFIGUTARION MANAGER and select INSTALL
+
 
+
Note: see above picture.
+
 
+
==== Compilation Kratos ====
+
 
+
::[[Image:MSVS2008_Compile_Kratos.1.jpg]]
+
 
+
::* <font color=red> IMPORTANT: </font> 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 '''dll'''s 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.
+
 
+
<font color=red> '''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. ''' </font>
+
+
*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
+
[[Category: Installation]]
+
 
+
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.
+
 
+
[[File:Running_script.png]]
+

Latest revision as of 08:39, 2 July 2018

The information in this page was moved to GitHub: https://github.com/KratosMultiphysics/Kratos/wiki/Windows-Install

Personal tools
Categories