Windows build » History » Version 23

pospelov, 05 Sep 2013 14:47

1 1 herck
h1. Windows build
2 1 herck
3 9 pospelov
Experimental compilation under Windows using Mingw or Microsoft Visual Studio.
4 6 pospelov
To be updated.
5 1 herck
6 13 pospelov
7 6 pospelov
h5. Install packages for happier life
8 1 herck
9 6 pospelov
* Atlassian SourceTree (v0.9.2.3) 
10 6 pospelov
> https://www.atlassian.com/software/sourcetree/overview
11 6 pospelov
* Kate from KDE 
12 6 pospelov
> http://download.kde.org/stable/kdewin/installer/kdewin-installer-gui-latest.exe.mirrorlist 
13 1 herck
* far manager
14 1 herck
> http://www.farmanager.com/download.php?l=en
15 9 pospelov
* WinSCP
16 9 pospelov
> http://winscp.net/eng/index.php
17 9 pospelov
18 14 pospelov
First assure compilation of MinGW, then switch to Visual Studio recipe
19 9 pospelov
20 9 pospelov
h2. Mingw build
21 9 pospelov
22 6 pospelov
h5. Install Qt, cmake
23 1 herck
24 6 pospelov
* Install Qt 5.1.0, MinGW is part of this installer
25 6 pospelov
> http://qt-project.org/downloads
26 18 pospelov
> Add to PATH C:\Qt\Tools\mingw48_32\bin;C:\Qt\Tools\mingw48_32\lib;C:\Qt\5.1.0\mingw48_32\bin;C:\Qt\Tools\QtCreator\bin
27 19 pospelov
>> this will allow usage of mingw from any command line
28 1 herck
29 1 herck
* install cmake
30 1 herck
> http://www.cmake.org/cmake/resources/software.html by running cmake-2.8.11.2-win32-x86.exe
31 10 pospelov
32 16 pospelov
h5. Install Python and Co
33 16 pospelov
34 16 pospelov
* Install Python
35 16 pospelov
> install through http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi into C:/Python27
36 16 pospelov
37 16 pospelov
* install numpy 
38 16 pospelov
> from unofficial http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy   by running   numpy-unoptimized-1.7.1.win32-py2.7.‌exe
39 16 pospelov
40 16 pospelov
* install matplotlib 
41 16 pospelov
> from http://matplotlib.org/downloads.html  by running matplotlib-1.2.1.win32-py2.7.exe
42 16 pospelov
43 16 pospelov
> (alternative install Anaconda pack (python + mingw + numpy) from http://continuum.io/downloads ) Not checked!
44 16 pospelov
45 10 pospelov
h5. Comment about installation of additional libraries
46 11 pospelov
> All further installations should end up in C:\opt\local
47 1 herck
48 6 pospelov
h5. Install gsl, fftw3
49 6 pospelov
50 6 pospelov
* Install gsl 
51 1 herck
> using corresponding gnuwin32 setup file from http://gnuwin32.sourceforge.net/packages.html
52 20 pospelov
> install in the default location
53 12 pospelov
> copy "C:\Program Files (x86)\GnuWin32\include\gsl"  to "C:\opt\local\include\gsl"
54 12 pospelov
> copy libgsl.dll and libgslcblas.dll  from "C:\Program Files (x86)\GnuWin32\bin" to "C:\opt\local\lib"
55 1 herck
56 6 pospelov
* Install fftw3 
57 12 pospelov
> from http://www.fftw.org/install/windows.html download  fftw-3.3.3-dll32.zip
58 12 pospelov
> unpack archive somewhere
59 6 pospelov
> copy fftw3.h to C:\opt\local\include
60 6 pospelov
> copy libfftw3-3.dll and libfftw3-3.def to C:\opt\local\lib
61 6 pospelov
62 15 pospelov
h5. install BOOST
63 15 pospelov
64 6 pospelov
* install zlib and bzip2
65 6 pospelov
> from http://www.zlib.net/ into C:/opt/local/source/zlib-1.2.8
66 6 pospelov
> from http://www.bzip.org/downloads.html into C:/opt/local/source/bzip2-1.0.6
67 6 pospelov
68 6 pospelov
* Download and compile boost_1_54_0 
69 6 pospelov
> from http://sourceforge.net/projects/boost/files/boost/1.54.0/ and unpack
70 6 pospelov
> cd <BOOSTDIR>
71 6 pospelov
> bootstrap.bat mingw
72 6 pospelov
> b2 install --prefix=c:/opt/local toolset=gcc -sBZIP2_SOURCE="C:\opt\local\source\bzip2-1.0.6"   -sZLIB_SOURCE="C:\opt\local\source\zlib-1.2.8" address-model=32 variant=release link=static,shared threading=single,multi
73 6 pospelov
> Move c:/opt/local/include/boost_1.54/boost directory into c:/opt/local/include/boost
74 6 pospelov
75 6 pospelov
76 6 pospelov
h5. %PATH%
77 1 herck
78 17 pospelov
* Add c:\home\pospelov\development\git\BornAgain\lib;c:\opt\local\lib to PATH
79 17 pospelov
80 6 pospelov
81 6 pospelov
h5. Where we are?
82 6 pospelov
83 6 pospelov
* At this point Qt creator should work (except App and GUI)
84 6 pospelov
85 6 pospelov
* At this point cmake should work too
86 8 pospelov
> cmake -G "MinGW Makefiles"  ../BornAgain
87 20 pospelov
> mingw32-make -j4
88 20 pospelov
> mingw32-make check
89 20 pospelov
90 20 pospelov
91 20 pospelov
h2. MS Visual Studio build
92 20 pospelov
93 20 pospelov
94 20 pospelov
h5. Install VS.NET2012
95 20 pospelov
> Install En language pack
96 20 pospelov
> install "stop build on error" plugin http://visualstudiogallery.msdn.microsoft.com/91aaa139-5d3c-43a7-b39f-369196a84fa5
97 20 pospelov
98 20 pospelov
h5. Comment about installation of additional libraries
99 20 pospelov
> All further installations should end up in C:\opt\local_vc110
100 20 pospelov
101 20 pospelov
* Install gsl 
102 20 pospelov
> Download source gsl-1.8-src.zip from http://gnuwin32.sourceforge.net/downlinks/gsl-src-zip.php
103 21 pospelov
> Copy gsl-1.8 source dir into C:/opt/local_vc110/source
104 21 pospelov
> Open  VC8/libgsl.sln in Visual Studio and compile project
105 21 pospelov
> Copy libgsl.dll and libgsl_dll.lib from VC8/libgsl/Release-DLL/ to C:/opt/local_vc110/lib
106 21 pospelov
> Copy libgslcblas.dll and libgslcblas_dll.lib from VC8/libgslcblas/Release-DLL/ to C:/opt/local_vc110/lib
107 22 pospelov
> Copy C:/opt/local/include/gsl to C:/opt/local_vc110/include/gsl
108 22 pospelov
109 22 pospelov
* Install fftw3
110 22 pospelov
> from http://www.fftw.org/install/windows.html download  fftw-3.3.3-dll32.zip
111 22 pospelov
> unpack archive somewhere
112 22 pospelov
> copy fftw3.h to C:\opt\local_vc110\include
113 1 herck
> copy libfftw3-3.dll and libfftw3-3.def to C:\opt\local_vc110\lib
114 1 herck
> generate corresponding lib file
115 1 herck
>> run "VS2012 x86 native tools command prompt"
116 1 herck
>>  run there "lib /def:libfftw3-3.def" to generate lib file
117 23 pospelov
118 23 pospelov
h5. install BOOST
119 23 pospelov
120 23 pospelov
* install zlib and bzip2
121 23 pospelov
> from http://www.zlib.net/ into C:/opt/local_vc110/source/zlib-1.2.8
122 23 pospelov
> from http://www.bzip.org/downloads.html into C:/opt/local_vc110/source/bzip2-1.0.6
123 23 pospelov
>> Patch bzip2 installation (necessary for MSVC build later)
124 23 pospelov
>> Namely delete first line ("LIBRARY   LIBBZ2") from file libbz2.def
125 23 pospelov
>> This will remove unnecessary dependency from external bzip2 during MSVC boost compilation
126 23 pospelov
127 23 pospelov
* Download and compile boost_1_54_0 
128 23 pospelov
> from http://sourceforge.net/projects/boost/files/boost/1.54.0/ and unpack
129 23 pospelov
> cd <BOOSTDIR>
130 23 pospelov
> bootstrap.bat
131 23 pospelov
> b2 install --prefix=c:/opt/local_vc110 -sBZIP2_SOURCE="C:\opt\local_vc110\source\bzip2-1.0.6"   -sZLIB_SOURCE="C:\opt\local_vc110\source\zlib-1.2.8" variant=release   link=static,shared threading=multi
132 23 pospelov
> Move c:/opt/local_vc110/include/boost_1.54/boost directory into c:/opt/local_vc110/include/boost