close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Ticket #1818: notes_compilation_tol.txt

File notes_compilation_tol.txt, 17.4 KB (added by Jorge, 10 years ago)

Notes for Rtools 32 bits

Line 
1==========
2  MSYS
3==========
4
5De MSYS hay que describir lo minimo requerido. Hay que tomar notas desde la proxima instalacion.
6
7export PATH=/C/Archivos\ de\ programa/R/R-3.1.2/bin:/C/Archivos\ de\ programa/Microsoft\ Visual\ Studio\ 10.0/VC/bin:${PATH}
8
9==========
10boost_1_57
11==========
12
13wget http://packages.tol-prj.org/win32/development/sources/boost_1_57_0.zip
14
15desde una ventana del DOS no MSYS ejecutar "bootstrap.bat mingw" ya que desde la ventana de msys da errores al no encontrar algunos .h, no entiendo bien
16por que.
17
18Luego desde la ventana de msys podemos hacer
19
20Compilacion Release: hay que modificar gcc.jam para cambiar -O3  por -O2
21
22$ b2 --address-model=32 cxxflags=-mno-align-double variant=release runtime-link=shared threading=multi --layout=system --without-mpi  link=shared toolset=gcc --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release  install
23   
24    -ftemplate-depth-128 -O2 -fno-inline -w -mthreads  -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DNDEBUG
25   
26Compilacion Debug
27
28$ b2 --address-model=32 cxxflags=-mno-align-double variant=debug   runtime-link=shared threading=multi --layout=system --without-mpi  link=shared toolset=gcc --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug install
29
30   -ftemplate-depth-128 -O0 -fno-inline -w -g -mthreads  -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1
31
32Si la compilacion es correcta debe salir algo como esto:
33
34The Boost C++ Libraries were successfully built!
35
36The following directory should be added to compiler include paths:
37
38    C:/users/toldevel/external/boost_1_57_0
39
40The following directory should be added to linker library paths:
41
42    C:\users\toldevel\external\boost_1_57_0\stage\lib
43   
44========================
45    google sparsehash
46========================
47   
48Descargar google sparsehash
49
50wget http://packages.tol-prj.org/win32/development/sources/sparsehash-2.0.2.zip
51
52Se configura con configure
53
54CFLAGS='-m32 -m32 -O2 -mno-align-double' CXXFLAGS='-m32 -O2 -mno-align-double' configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release
55make
56make install
57make distclean
58CFLAGS='-m32 -m32 -O0 -ggdb  -mno-align-double' CXXFLAGS='-m32 -O0 -ggdb  -mno-align-double' configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug
59make
60make install
61
62========
63  bzip2
64========
65
66wget http://packages.tol-prj.org/win32/development/sources/bzip2-1.0.6.zip
67unzip bzip2-1.0.6.zip
68cd bzip2-1.0.6
69mkdir Build
70mkdir Build/Debug ; cd Build/Debug
71cmake -DCMAKE_C_FLAGS_DEBUG='-O0 -ggdb -Wall -mno-align-double' -DCMAKE_INSTALL_PREFIX=/c/users/toldevel/external/toldevel-rtools-m32/debug -DCMAKE_BUILD_TYPE=Debug -G"MSYS Makefiles" ../..
72make install
73cd ../..
74mkdir Build/Release ; cd Build/Release
75cmake -DCMAKE_C_FLAGS_RELEASE='-O2 -Wall -DNDEBUG -mno-align-double' -DCMAKE_INSTALL_PREFIX=/c/users/toldevel/external/toldevel-rtools-m32/release -DCMAKE_BUILD_TYPE=Release -G"MSYS Makefiles" ../..
76make install
77
78
79************** NO HACE FALTA YA QUE CON CMAKE SE PUEDE COMPILAR ***********
80wget http://skylink.dl.sourceforge.net/project/mingw/MinGW/Extension/bzip2/bzip2-1.0.6-4/libbz2-1.0.6-4-mingw32-dll-2.tar.lzma
81wget http://skylink.dl.sourceforge.net/project/mingw/MinGW/Extension/bzip2/bzip2-1.0.6-4/bzip2-1.0.6-4-mingw32-dev.tar.lzma
82tar -C /C/users/toldevel/external/install/release --lzma -xvf bzip2-1.0.6-4-mingw32-dev.tar.lzma
83tar -C /C/users/toldevel/external/install/release --lzma -xvf libbz2-1.0.6-4-mingw32-dll-2.tar.lzma
84tar -C /C/users/toldevel/external/install/debug --lzma -xvf bzip2-1.0.6-4-mingw32-dev.tar.lzma
85tar -C /C/users/toldevel/external/install/debug --lzma -xvf libbz2-1.0.6-4-mingw32-dll-2.tar.lzma
86
87========
88  zlib
89========
90
91wget http://packages.tol-prj.org/win32/development/sources/zlib-1.2.8.zip
92unzip zlib-1.2.8.zip
93cd zlib-1.2.8
94mkdir Build
95mkdir Build/Release ; cd Build/Release
96cmake -DCMAKE_C_FLAGS_RELEASE='-O2 -Wall -DNDEBUG -mno-align-double' -DCMAKE_INSTALL_PREFIX=/c/users/toldevel/external/toldevel-rtools-m32/release/ -DCMAKE_BUILD_TYPE=Release -G"MSYS Makefiles" ../..
97make
98make install
99cd ../..
100mkdir Build/Debug ; cd Build/Debug
101cmake -DCMAKE_C_FLAGS_DEBUG='-O0 -ggdb -Wall -mno-align-double'        -DCMAKE_INSTALL_PREFIX=/c/users/toldevel/external/toldevel-rtools-m32/debug/ -DCMAKE_BUILD_TYPE=Debug -G"MSYS Makefiles" ../..
102make
103make install
104
105================
106   ZipArchive
107================
108
109wget http://packages.tol-prj.org/win32/development/sources/ZipArchive.zip
110unzip ZipArchive.zip
111cd ZipArchive
112mkdir -p Build/Release ; cd Build/Release
113cmake -DCMAKE_C_FLAGS_RELEASE='-O2 -Wall -DNDEBUG -mno-align-double' -DCMAKE_CXX_FLAGS_RELEASE='-O2 -Wall -DNDEBUG -mno-align-double' -DCMAKE_PREFIX_PATH=/c/users/toldevel/external/toldevel-rtools-m32/release -DCMAKE_INSTALL_PREFIX=/c/users/toldevel/external/toldevel-rtools-m32/release -DCMAKE_BUILD_TYPE=Release -G"MSYS Makefiles" -DBUILD_SHARED_LIBS:BOOL=ON ../..
114make install
115cd ../..
116mkdir -p Build/Debug ; cd Build/Debug
117cmake -DCMAKE_C_FLAGS_RELEASE='-O0 -ggdb -Wall -mno-align-double' -DCMAKE_CXX_FLAGS_RELEASE='-O0 -ggdb -Wall -mno-align-double' -DCMAKE_PREFIX_PATH=/c/users/toldevel/external/toldevel-rtools-m32/debug -DCMAKE_INSTALL_PREFIX=/c/users/toldevel/external/toldevel-rtools-m32/debug -DCMAKE_BUILD_TYPE=Debug -G"MSYS Makefiles" -DBUILD_SHARED_LIBS:BOOL=ON ../..
118make install
119
120=======
121 fftw
122=======
123
124wget http://packages.tol-prj.org/linux/sources/fftw-3.3.1.tar.gz
125tar zxf fftw-3.3.1.tar.gz
126cd fftw-3.3.1
127
128CFLAGS='-m32 -m32 -O0 -ggdb -Wall -mno-align-double' configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug --enable-shared
129make
130make install
131make distclean
132CFLAGS='-m32 -m32 -O2 -Wall -DNDEBUG -mno-align-double' configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release --enable-shared
133make
134make install
135
136=============
137  ROOT CINT
138=============
139
140wget http://packages.tol-prj.org/win32/development/sources/include_cint_root_v5.34.24.zip
141unzip include_cint_root_v5.34.24.zip
142cp -r cint /c/users/toldevel/external/toldevel-rtools-m32/debug/include/.
143cp -r cint /c/users/toldevel/external/toldevel-rtools-m32/release/include/.
144
145Los includes de cint han sido extraidos desde http://root.cern.ch/download/root_v5.34.24.source.tar.gz
146
147===================
148   BLAS/LAPACK
149===================
150
151wget http://packages.tol-prj.org/win32/development/lapack-mingw.zip
152unzip lapack-mingw.zip
153cd lapack-mingw/win32/
154cp  *.dll /c/users/toldevel/external/toldevel-rtools-m32/debug/bin
155cp  *.lib /c/users/toldevel/external/toldevel-rtools-m32/debug/lib
156cp  *.dll /c/users/toldevel/external/toldevel-rtools-m32/release/bin
157cp  *.lib /c/users/toldevel/external/toldevel-rtools-m32/release/lib
158
159========
160  GBLA
161========
162
163export BLAPI_BLAS_LIB=/c/Archivos\ de\ programa/R/R-3.1.2/bin/i386/Rblas.dll
164export BLAPI_LAPACK_LIB=/c/Archivos\ de\ programa/R/R-3.1.2/bin/i386/Rlapack.dll
165
166svn co https://www.tol-prj.org/svn/gbla
167cd gbla/trunk/libltdl
168CFLAGS='-m32 -O0 -ggdb -Wall -mno-align-double' configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug
169cd ..
170bjam cflags=-mno-align-double cxxflags=-mno-align-double variant=debug   runtime-link=shared threading=multi link=shared toolset=gcc --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug install
171cd examples/blas
172bjam cflags=-mno-align-double cxxflags=-mno-align-double variant=debug   runtime-link=shared threading=multi link=shared toolset=gcc --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug
173
174ejecutar los test generados dentro del directorio bin.
175
176cd gbla/trunk/libltdl
177make distclean
178CFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double'  configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release
179cd ..
180bjam cflags=-mno-align-double cxxflags=-mno-align-double variant=release   runtime-link=shared threading=multi link=shared toolset=gcc --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release install
181cd examples/blas
182bjam cflags=-mno-align-double cxxflags=-mno-align-double variant=release   runtime-link=shared threading=multi link=shared toolset=gcc --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release
183
184===============
185  SuiteSparse: esta esta poco automatizada, hay que trabajarla mas
186===============
187
188SuitSparse no compila bien con bjam, al menos lo que tenemos preparado.
189
190Ver este: https://github.com/jlblancoc/suitesparse-metis-for-windows
191
192wget http://packages.tol-prj.org/win32/development/sources/SuiteSparse-4.4.1.tar.gz
193
194Hay que editar SuiteSparse_config/SuiteSparse_config.mk y modificarlo para que use nuestras blas y lapack
195
196BLAS = /c/users/toldevel/external/rtools-x86/release/lib/libblas.lib
197LAPACK = /c/users/toldevel/external/rtools-x86/release/lib/liblapack.lib
198
199tambien hay que eliminarla opcion de enlace -lrt
200
201al compilar las libs hay que especificar CC=gcc
202
203editar "SuiteSparse_config.mk" para instalar en toldevel-rtools-m32/debug
204CFLAGS='-m32 -O0 -ggdb -Wall -mno-align-double' CPPFLAGS='-O0 -ggdb -Wall -mno-align-double' CC=gcc make
205make install
206make distclean
207editar "SuiteSparse_config.mk" para instalar en toldevel-rtools-m32/release
208CFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double' CPPFLAGS='-O2 -Wall -DNDEBUG -mno-align-double' CC=gcc make
209make install
210
211======
212 GSL
213======
214
215wget http://packages.tol-prj.org/win32/development/sources/gsl-1.16.tar.gz
216tar zxf gsl-1.16.tar.gz
217cd gsl-1.16
218
219CFLAGS='-m32 -O0 -ggdb -Wall -mno-align-double' configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug --enable-shared
220make
221make install
222make distclean
223CFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double' configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release --enable-shared
224make
225make install
226
227./configure --prefix=/usr/local --enable-shared
228make
229make install
230
231===================
232   CBLAS/CLAPACK
233===================
234
235wget http://packages.tol-prj.org/win32/development/atlas-windows.zip
236cd atlas-windows
237cp -r include/* /c/users/toldevel/external/toldevel-rtools-m32/debug/include/.
238cp  lib/* /c/users/toldevel/external/toldevel-rtools-m32/debug/lib/.
239cp -r include/* /c/users/toldevel/external/toldevel-rtools-m32/release/include/.
240cp  lib/* /c/users/toldevel/external/toldevel-rtools-m32/release/lib/.
241
242===========
243   ltdl
244===========
245
246wget http://packages.tol-prj.org/win32/development/sources/libtool-2.4.4.tar.gz
247tar zxf libtool-2.4.4.tar.gz
248cd libtool-2.4.4
249CFLAGS='-m32 -O0 -ggdb -mno-align-double' CXXFLAGS='-m32 -O0 -ggdb -mno-align-double' configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug --enable-shared
250make
251make install
252make distclean
253CFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double' CXXFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double' ./configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release --enable-shared
254make
255make install
256
257============================
258PostgreSQL client libraries
259============================
260see: https://pgolub.wordpress.com/2008/12/15/building-postgresql-client-library-using-mingw-under-winxp-sp3/
261
262wget http://packages.tol-prj.org/win32/development/sources/postgresql-9.4.1.tar.gz
263tar zxf postgresql-9.4.1.tar.gz
264cd postgresql-9.4.1
265
266CFLAGS='-m32 -m32 -O0 -ggdb -mno-align-double' CXXFLAGS='-m32 -O0 -ggdb -mno-align-double' ./configure --without-zlib --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug
267make -C src/common
268make -C src/interfaces/libpq install
269cp src/include/postgres_ext.h src/include/pg_config_ext.h /c/users/toldevel/external/toldevel-rtools-m32/debug/include/.
270
271make distclean
272CFLAGS='-m32 -m32 -O2 -Wall -DNDEBUG -mno-align-double' CXXFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double' ./configure --without-zlib --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release
273make -C src/common
274make -C src/interfaces/libpq install
275cp src/include/postgres_ext.h src/include/pg_config_ext.h /c/users/toldevel/external/toldevel-rtools-m32/release/include/.
276
277Compilar Tcl
278=============
279
280wget http://packages.tol-prj.org/win32/development/sources/tcl8.4.20.zip
281unzip tcl8.4.20.zip
282cd tcl8.4.20
283mkdir build-debug
284mkdir build-release
285cd build-debug
286CFLAGS='-m32 -O0 -ggdb -mno-align-double' CXXFLAGS='-m32 -O0 -ggdb -mno-align-double' ../win/configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug --enable-threads --enable-shared
287make
288make install
289make install-private-headers
290cd ../build-release
291CFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double' CXXFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double' ../win/configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release --enable-threads --enable-shared
292make
293make install
294make install-private-headers
295
296Compilar Tk
297============
298
299wget http://packages.tol-prj.org/win32/development/sources/tk8.4.20.zip
300unzip tk8.4.20.zip
301cd tcl8.4.20
302mkdir build-debug
303mkdir build-release
304cd build-debug
305PATH=/c/users/toldevel/external/toldevel-rtools-m32/debug/bin:${PATH} CFLAGS='-m32 -O0 -ggdb -mno-align-double' CXXFLAGS='-m32 -O0 -ggdb -mno-align-double' ../win/configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug --enable-threads --enable-shared --with-tcl=/c/users/toldevel/external/toldevel-rtools-m32/debug/lib
306make
307make install
308make install-private-headers
309cd ../build-release
310PATH=/c/users/toldevel/external/toldevel-rtools-m32/release/bin:${PATH} CFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double' CXXFLAGS='-m32 -O2 -Wall -DNDEBUG -mno-align-double' ../win/configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release --enable-threads --enable-shared --with-tcl=/c/users/toldevel/external/toldevel-rtools-m32/release/lib
311make
312make install
313make install-private-headers
314
315================
316   libcurl
317================
318
319wget http://packages.tol-prj.org/win32/development/sources/curl-7.40.0.tar.gz
320tar zxf curl-7.40.0.tar.gz
321cd curl-7.40.0
322CFLAGS='-m32 -O0 -ggdb -mno-align-double' CXXFLAGS='-m32 -O0 -ggdb -mno-align-double' ./configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/debug --enable-shared
323make
324make install
325make distclean
326CFLAGS='-m32 -O2 -Wall -mno-align-double' CPPFLAGS=-DNDEBUG CXXFLAGS='-m32 -O2 -Wall -mno-align-double' ./configure --prefix=/c/users/toldevel/external/toldevel-rtools-m32/release --enable-shared
327make
328make install
329
330================
331   TclCurl
332================
333
334OJO: UnxUtils/usr/local/wbin/bc.exe si esta en el path puede hacer que el configure falle. Renombrarlo. Hay que usar el que esta en /c/MinGW/bin, para eso incluir la ruta anterior en el path.
335
336wget http://packages.tol-prj.org/win32/development/sources/tclcurl-7.22.0.zip
337unzip tclcurl-7.22.0.zip
338cd tclcurl-7.22.0
339CFLAGS='-m32 -O0 -ggdb -mno-align-double' CXXFLAGS='-m32 -O0 -ggdb -mno-align-double' ./configure --with-tcl=/c/users/toldevel/external/toldevel-rtools-m32/debug/lib --with-curlprefix=/c/users/toldevel/external/toldevel-rtools-m32/debug --enable-threads --enable-symbols
340make install
341make distclean
342CFLAGS='-m32 -O2 -Wall -mno-align-double' CPPFLAGS=-DNDEBUG CXXFLAGS='-m32 -O2 -Wall -mno-align-double' ./configure --with-tcl=/c/users/toldevel/external/toldevel-rtools-m32/release/lib --with-curlprefix=/c/users/toldevel/external/toldevel-rtools-m32/release --enable-threads
343
344=======
345  TOL
346=======
347
348cd tolp/trunk/tol
349mkdir BUILD_CMAKE
350cd BUILD_CMAKE
351cmake -DFFTW_ROOT:PATH=c:/MinGW/msys/1.0/local -DFFTW_USE_STATIC_LIBS=1 -DCINT_ROOT_DIR:PATH=c:/users/toldevel/external/root_v5.34.24.source/root/cint/cint -DZIPARCHIVE_AS_STATIC=1 -DCBLAS_DIR=c:/users/toldevel/external/atlas-windows -DCLAPACK_DIR=c:/users/toldevel/external/atlas-windows -DCMAKE_BUILD_TYPE=Debug -G"MSYS Makefiles" ..
352
353cmake -DCMAKE_C_FLAGS_DEBUG="-O0 -g2" -DCMAKE_CXX_FLAGS_RELEASE="-O0 -g2" -DTOL_EXTERNAL_DEVEL_DIR=C:\users\toldevel\external\TOL_DEVEL_MINGW32 -DCMAKE_BUILD_TYPE=Debug -G"CodeLite - MinGW Makefiles" ../..
354
355cmake -DCMAKE_C_FLAGS_RELEASE='-O2 -Wall -DNDEBUG' -DCMAKE_CXX_FLAGS_RELEASE='-O2 -Wall -DNDEBUG' -DTOL_EXTERNAL_DIR=C:/users/toldevel/external/install -DCMAKE_BUILD_TYPE=Release -G"CodeLite - MinGW Makefiles" ../..
356
357Para tolsh se require Tcl/Tk y otros paquetes como TclCurl
358
359=============
360   TclCurl
361=============
362
363download from https://bitbucket.org/smh377/tclcurl/downloads
364
365Compilar MatQuery
366
367mkdir CodeLite\Debug
368cd CodeLite\Debug
369
370cmake -DTOL_INCLUDE_DIR=c:\users\toldevel\tolp\trunk\tol\CodeLite\Debug -DTOL_LIBRARY=C:\users\toldevel\tolp\trunk\tol\CodeLite\Debug\libtol.dll -DGSL_INCLUDE_SEARCH=C:\users\toldevel\external\TOL_DEVEL_MINGW32\debug\include -DGSL_LIBS_SEARCH=C:\users\toldevel\external\TOL_DEVEL_MINGW32\debug\lib -DCMAKE_BUILD_TYPE=Debug -G"CodeLite - MinGW Makefiles" ../..
371
372==================
373  Compilar NLOPT
374==================
375
376==================
377  Compilar IPOPT
378==================
379
380wget http://www.coin-or.org/download/source/Ipopt/Ipopt-3.12.2.tgz
381tar zxf http://www.coin-or.org/download/source/Ipopt/Ipopt-3.12.2.tgz
382cd Ipopt-3.12.2/ThirdParty/Blas
383./get.Blas
384cd Ipopt-3.12.2/ThirdParty/Lapack
385./get.Lapack
386cd Ipopt-3.12.2/ThirdParty/
387cd Ipopt-3.12.2/Mumps
388./get.Mumps
389mkdir build
390cd build
391CFLAGS='-m32 -O2 -Wall -mno-align-double' CPPFLAGS=-DNDEBUG CXXFLAGS='-m32 -O2 -Wall -mno-align-double' ../configure --prefix=/usr/local/Ipopt-3-12.2 --enable-shared --enable-dependency-linking LD=ld
392make
393
394Mumps falla la compilacion hay que copiar el paso link y anadirle la opcion -Wl,--allow-multiple-definition luego retomar el paso make
395
396El resultado de esta compilacion debe ir a TolIpopt\CppTools\MinGW_32 y TolIpopt\CppTools\Ipopt-mingw32
397