Mercurial > trustbridge
annotate INSTALL @ 1332:8362e30f7b55
(issue139) Check that pid is not running if the lock can be aquired
If the lock on the lockfile can be aquired it might still be
possible that another process is running. So we read the
pid from the lockfile and check if another process with the
same installation prefix as us is running.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 15 Oct 2014 14:19:46 +0200 |
parents | 4a3a482dc337 |
children | dab626e44347 |
rev | line source |
---|---|
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
1 /** @file INSTALL |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
2 @brief Installation Instructions |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
3 ************************* |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
4 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
5 For Debian based GNU / Linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
6 ============================ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
7 Tested development platform: Ubuntu 14.4 amd64. |
598
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
8 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
9 The following commands build qt5 and polarssl which are dependencies of the Software. |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
10 To only build for the amd64 platform omit the i386 instructions. |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
11 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
12 For build dependencies please refer to the Qt documentation |
598
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
13 ( qtbase/src/plugins/platforms/xcb/README ). |
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
14 Polarssl needs cmake and build-essentials. |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
15 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
16 export YOURPREFIX=<Prefix of your choice (default /usr)> |
1262
dcce1e7201e2
Make sure that the bin dir is created before adding it to the path
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1253
diff
changeset
|
17 mkdir -p $YOURPREFIX/bin |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
18 export PATH=$YOURPREFIX/bin:$PATH |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
19 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
20 curl https://download.qt-project.org/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz.mirrorlist | grep SHA-256 |
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
21 7f5bf93344cb57bac374ea4a32c8eda87f1357f998f14278e717cf84d0289bf0 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
22 |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
23 curl -O http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
24 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
25 sha256sum qt-everywhere-opensource-src-5.3.2.tar.xz |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
26 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
27 tar -xf qt-everywhere-opensource-src-5.3.2.tar.xz |
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
28 |
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
29 cd qt-everywhere-opensource-src-5.3.2/qtbase |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
30 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
31 build dependencies have to to be installed at this point, |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
32 see ../qtbase/src/plugins/platforms/xcb/README |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
33 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
34 ./configure --prefix=$YOURPREFIX \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
35 -opensource \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
36 -release -nomake tests -nomake examples -confirm-license \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
37 -static -no-cups -no-nis -no-icu -no-fontconfig -qt-freetype \ |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
38 -no-directfb -no-opengl -no-kms -no-eglfs -no-egl -no-openssl -no-glib \ |
931
7ac5a366184d
Remove -system-lipng from qt configure line
Andre Heinecke <andre.heinecke@intevation.de>
parents:
908
diff
changeset
|
39 -qpa xcb -qt-xkbcommon -qt-xcb -no-nis -no-libjpeg -qt-libpng \ |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
40 -qt-zlib -no-gif -no-xinput2 && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
41 nice make -j`nproc` && \ |
666
d905758aa3a6
Some reduction in qt libraries and document uitools build (needed for linguist)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
635
diff
changeset
|
42 make install |
d905758aa3a6
Some reduction in qt libraries and document uitools build (needed for linguist)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
635
diff
changeset
|
43 |
1263
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
44 If you want to build the localization you need the qt localization tools. |
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
45 To build them: |
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
46 |
784
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
47 cd .. && \ |
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
48 cd qttools/src/designer/src/uitools && \ |
778
3145399aa797
(issue57) Update to qt 5.3.1
Andre Heinecke <andre.heinecke@intevation.de>
parents:
666
diff
changeset
|
49 qmake && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
50 nice make -j`nproc` && \ |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
51 make install |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
52 |
784
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
53 cd ../../../linguist && \ |
d92264e9e08f
Improve copy/paste variant of INSTALL documentation by switching paths
Andre Heinecke <andre.heinecke@intevation.de>
parents:
778
diff
changeset
|
54 qmake && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
55 nice make -j`nproc` &&\ |
666
d905758aa3a6
Some reduction in qt libraries and document uitools build (needed for linguist)
Andre Heinecke <andre.heinecke@intevation.de>
parents:
635
diff
changeset
|
56 make install |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
57 |
1263
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
58 |
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
59 Polarssl is required for TrustBridge: |
827abc0923a8
Clarify that linguist and uitools are optional
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1262
diff
changeset
|
60 |
823
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
61 curl -O https://polarssl.org/download/polarssl-1.3.8-gpl.tgz |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
62 sha256sum polarssl-1.3.8-gpl.tgz |
823
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
63 318171db41335cacbb5b0047c94f1faf91442ab70a223b5223436703c9406ff1 polarssl-1.3.8-gpl.tgz |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
64 |
823
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
65 tar -xf polarssl-1.3.8-gpl.tgz |
b8bc812e41ee
(issue69) Update polarssl build documentation to 1.3.8
Andre Heinecke <andre.heinecke@intevation.de>
parents:
789
diff
changeset
|
66 cd polarssl-1.3.8 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
67 mkdir build |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
68 cd build |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
69 cmake .. -DCMAKE_C_FLAGS=-fpic -DCMAKE_INSTALL_PREFIX=$YOURPREFIX |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
70 make && make test && make install |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
71 |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
72 Trustbridge checkout: |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
73 At this point you need a trustbridge checkout as curl needs to be patched |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
74 to enable the certificate pinning and the force of SSL Ciphersuites when |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
75 using polarssl. |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
76 |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
77 hg clone https://wald.intevation.org/hg/trustbridge/ |
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
78 |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
79 Libcurl: |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
80 |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
81 curl -O http://curl.haxx.se/download/curl-7.38.0.tar.gz |
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
82 sha256sum curl-7.38.0.tar.gz |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
83 5661028aa6532882fa228cd23c99ddbb8b87643dbb1a7ea55c068d34a943dff1 curl-7.38.0.tar.gz |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
84 curl -O http://curl.haxx.se/download/curl-7.38.0.tar.gz.asc |
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
85 gpg2 --verify curl-7.38.0.tar.gz.asc |
960
64c0e15935c8
Just add the sha256sum instead of gpg verify to avoid trust issues.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
958
diff
changeset
|
86 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
87 tar -xf curl-7.38.0.tar.gz |
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
88 cd curl-7.38.0/ |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
89 patch -p1 < ../trustbridge/patches/*.patch |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
90 mkdir build |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
91 cd build |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
92 |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
93 ../configure --prefix=$YOURPREFIX \ |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
94 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
95 --without-librtmp --without-libmetalink --without-axtls --without-nss \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
96 --without-cyassl --without-ssl --without-gnutls --disable-gopher --disable-smtp \ |
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
97 --disable-imap --disable-pop3 --disable-tftp --disable-telnet --disable-dict \ |
953
f2066a24047d
Update build doc for curl. Do not disable proxy.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
949
diff
changeset
|
98 --disable-rtsp --disable-ldaps --disable-ldap --disable-file \ |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
99 --disable-ftp --enable-http --enable-shared=no -enable-static=yes \ |
948
3baee3445502
Use curl without-zlib support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
931
diff
changeset
|
100 --with-polarssl=$YOURPREFIX --without-ca-bundle --without-ca-path \ |
3baee3445502
Use curl without-zlib support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
931
diff
changeset
|
101 --without-zlib |
953
f2066a24047d
Update build doc for curl. Do not disable proxy.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
949
diff
changeset
|
102 make && make install |
908
d1c951b3012d
Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents:
888
diff
changeset
|
103 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
104 To compile the software you can use plain cmake. |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
105 An out of source build is highly suggested. |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
106 For build options see CMakeList.txt |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
107 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
108 cd trustbridge |
834
8081ed84589d
Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
823
diff
changeset
|
109 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
110 mkdir build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
111 cd build-linux |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
112 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
113 |
1265
b18f08034c24
Split off CLANG section more clearly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1264
diff
changeset
|
114 CLANG |
b18f08034c24
Split off CLANG section more clearly
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1264
diff
changeset
|
115 ===== |
1266
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
116 Alternatively you can build trustbridge with CLANG. This is a bit of a hack |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
117 and does not use all the hardening flags. Building with CLANG is _NOT_ recommended |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
118 but it can be useful for analysis of the code. |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
119 |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
120 As root install the required packages an perform an evil hack that fixes the c++ |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
121 build with clang on ubuntu: |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
122 |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
123 apt-get install clang llvm |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
124 ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19 /usr/lib/x86_64-linux-gnu/libstdc++.so |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
125 |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
126 Now you can build trustbridge as user: |
1264
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
127 |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
128 mkdir build-clang |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
129 cd build-clang |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
130 CC=/usr/bin/clang \ |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
131 CXX=/usr/bin/clang++ \ |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
132 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX \ |
1266
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
133 -DUSE_CLANG=TRUE \ |
a548dd9a5dbe
Fix c++ build with CLANG
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1265
diff
changeset
|
134 -DCMAKE_VERBOSE_MAKEFILE=TRUE |
1267
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
135 make |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
136 |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
137 To run scan build: |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
138 |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
139 CXX=/usr/share/clang/scan-build/c++-analyzer \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
140 CC=/usr/share/clang/scan-build/ccc-analyzer \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
141 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
142 -DUSE_CLANG=TRUE \ |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
143 -DCMAKE_VERBOSE_MAKEFILE=TRUE |
d9ecf3a83620
Document scan build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1266
diff
changeset
|
144 scan-build make |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
145 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
146 I386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
147 ==== |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
148 Install dependencies (list might be incomplete) |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
149 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
150 apt-get install libx32stdc++-4.8-dev libc6:i386 g++-4.8-multilib \ |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
151 libxcb1:i386 libxcb1-dev:i386 libx11-xcb1:i386 libx11-xcb-dev:i386 libxcb-keysyms1:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
152 libxcb-keysyms1-dev:i386 libxcb-image0:i386 libxcb-image0-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
153 libxcb-shm0:i386 libxcb-shm0-dev:i386 libxcb-icccm4:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
154 libxcb-icccm4-dev:i386 libxcb-sync-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
155 libxcb-render-util0:i386 libxcb-render-util0-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
156 libxcb-xfixes0-dev:i386 libxrender-dev:i386 libxcb-shape0-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
157 libxcb-randr0-dev:i386 libxcb-glx0-dev:i386 libdbus-1-dev:i386 \ |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
158 libsm-dev:i386 libnss3-dev:i386 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
159 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
160 Create a new directory for qt. As qt has to build in source you need a different |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
161 directory: |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
162 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
163 mkdir i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
164 cd i386 |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
165 tar -xf ../qt-everywhere-opensource-src-5.3.2.tar.xz |
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
166 cd qt-everywhere-opensource-src-5.3.2/qtbase/ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
167 ./configure --prefix=$YOURPREFIX/i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
168 -opensource -platform linux-g++-32 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
169 -release -nomake tests -nomake examples -confirm-license \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
170 -static -no-cups -no-nis -no-icu \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
171 -no-directfb -no-opengl -no-kms -no-eglfs -no-egl -no-openssl -no-glib \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
172 -system-libpng -qpa xcb -qt-xcb -no-nis -no-libjpeg -no-gif -qt-zlib \ |
1192
7839d3d696a1
(issue131) Update Install documentation for qt 5.3.2
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1089
diff
changeset
|
173 -no-fontconfig -qt-freetype -qt-libpng -qt-xkbcommon -no-xinput2 \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
174 && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
175 nice make -j`nproc` && \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
176 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
177 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
178 Switch back to the polarssl directory: |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
179 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
180 cd ../../../polarssl-1.3.8/ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
181 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
182 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
183 cmake .. -DCMAKE_C_FLAGS="-fpic -m32" -DCMAKE_INSTALL_PREFIX=$YOURPREFIX/i386 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
184 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
185 -DENABLE_TESTING=FALSE -DENABLE_PROGRAMS=FALSE && \ |
887
accda55ae053
Use make -j`nproc` everywhere instead of fixed number
Andre Heinecke <andre.heinecke@intevation.de>
parents:
880
diff
changeset
|
186 nice make -j`nproc` && \ |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
187 make install |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
188 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
189 Change to the curl directory: |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
190 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
191 cd ../../curl-7.38.0/ |
971
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
192 mkdir build-i386 |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
193 cd build-i386 |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
194 CFLAGS="-fpic -m32" CPPFLAGS="-fpic -m32" ../configure --prefix=$YOURPREFIX/i386 \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
195 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
196 --without-librtmp --without-libmetalink --without-axtls --without-nss \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
197 --without-cyassl --without-ssl --without-gnutls --disable-gopher --disable-smtp \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
198 --disable-imap --disable-pop3 --disable-tftp --disable-telnet --disable-dict \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
199 --disable-rtsp --disable-ldaps --disable-ldap --disable-file \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
200 --disable-ftp --enable-http --enable-shared=no -enable-static=yes \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
201 --with-polarssl=$YOURPREFIX/i386 --without-ca-bundle --without-ca-path \ |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
202 --without-zlib |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
203 make && make install |
d3258a6faedd
Document out of source and i386 build for curl
Andre Heinecke <andre.heinecke@intevation.de>
parents:
960
diff
changeset
|
204 |
1264
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
205 Now for Trustbridge itself: |
3cd8dd706aaa
Add possibility to build with CLANG and document it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1263
diff
changeset
|
206 |
876
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
207 cd ../../trustbridge |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
208 mkdir build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
209 cd build-i386 |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
210 cmake .. -DCMAKE_PREFIX_PATH="$YOURPREFIX/i386" \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
211 -DCMAKE_VERBOSE_MAKEFILE=True \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
212 -DCMAKE_C_FLAGS=-m32 \ |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
213 -DCMAKE_CXX_FLAGS="-m32" |
0051cb07da28
Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
855
diff
changeset
|
214 |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
215 Hiawatha (for Downloader unit test) |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
216 =================================== |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
217 Hiawatha is used in the downloader unit tests to provide a testbench |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
218 for the ssl connection. To build it you may need libxslt-dev as additional |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
219 dependency. |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
220 |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
221 curl -O https://www.hiawatha-webserver.org/files/hiawatha-9.7.tar.gz |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
222 sha256sum hiawatha-9.7.tar.gz |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
223 |
1089
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
224 e8581336883b7b963f38572f6396f8c47b43e5bedd3147d052fa3652e6c0ed86 hiawatha-9.7.tar.gz |
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
225 |
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
226 tar -xf hiawatha-9.7.tar.gz |
3c67e32b5d4a
Document update to curl 7.38.0 and hiawatha update.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1024
diff
changeset
|
227 cd hiawatha-9.7 |
585
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
228 mkdir build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
229 cd build |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
230 cmake .. -DCMAKE_INSTALL_PREFIX=$YOURPREFIX |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
231 make && make install |
21f8d32f2d2a
Document hiawatha build
Andre Heinecke <aheinecke@intevation.de>
parents:
577
diff
changeset
|
232 |
998
0570b1e562c2
(issue90) Add curl patches for the problems we had with curl.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
971
diff
changeset
|
233 |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
234 Osslsigncode (for binverify unit test) |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
235 ====================================== |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
236 Osslsigncode is used to create PKCS#7 embedded signatures for Windows Authenticode |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
237 it is needed for the Windows part of the binverify unit test on the build system. |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
238 |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
239 curl -L --max-redirs=1 -O http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz |
847
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
240 sha256sum osslsigncode-1.7.1.tar.gz |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
241 f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 |
847
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
242 tar -xf osslsigncode-1.7.1.tar.gz |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
243 cd osslsigncode-1.7.1 |
b642e80c77a8
Switch to released version of osslsigncode
Andre Heinecke <andre.heinecke@intevation.de>
parents:
836
diff
changeset
|
244 ./configure --without-curl --prefix=$YOURPREFIX |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
245 make && make install |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
246 |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
247 #for a windows binary (optional): |
635
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
248 OPENSSL_CFLAGS=-I$MXETARGET/include OPENSSL_LIBS="-L$MXETARGET/lib -lcrypto -lz -lgdi32" ./configure --without-curl --host=i686-w64-mingw32 --prefix=$MXETARGET |
ed1887be5170
Document osslsigncode build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
601
diff
changeset
|
249 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
250 For Microsoft Windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
251 ===================== |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
252 The Windows variant can be cross compiled on Debian based GNU / Linux systems. |
598
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
253 The minimum requirement is Debian stable. |
c1733da2559c
Added hint about tested development platform Ubuntu 13.10.
Bernhard Reiter <bernhard@intevation.de>
parents:
585
diff
changeset
|
254 Tested development platform: Ubuntu 13.10. |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
255 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
256 Dependencies on the Host system: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
257 |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
258 apt-get install git autoconf automake bash bison bzip2 \ |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
259 cmake flex gettext git g++ intltool \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
260 libffi-dev libtool libltdl-dev libssl-dev \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
261 libxml-parser-perl make openssl patch perl \ |
1285
4a3a482dc337
Build instruction consistency: always using curl -O instead of wget. Wget taken out.
Bernhard Reiter <bernhard@intevation.de>
parents:
1267
diff
changeset
|
262 pkg-config scons sed unzip curl xz-utils autopoint \ |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
263 gperf |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
264 |
577
4ccae6acfaec
Document qt linguist tools build
Andre Heinecke <aheinecke@intevation.de>
parents:
575
diff
changeset
|
265 Build the windows binaries: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
266 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
267 MXEPATH=$YOURPREFIX/win |
949
0abacb0fd564
Document and use minimized qt and document curl build for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents:
948
diff
changeset
|
268 git clone https://github.com/Intevation/mxe.git $MXEPATH |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
269 cd $MXEPATH |
958
3b736de02df3
Add correct branch to INSTALL documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
953
diff
changeset
|
270 git checkout trustbridge |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
271 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
272 make polarssl |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
273 make qtbase |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
274 |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
275 (optional) |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
276 |
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
277 make curl |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
278 |
1019
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
279 Add CMAKE_STRIP to the toolchain file: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
280 |
1019
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
281 echo "set(CMAKE_STRIP $MXEPATH/usr/bin/i686-w64-mingw32.static-strip)" >> \ |
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
282 "$MXEPATH/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake" |
4f999c7821ce
Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents:
998
diff
changeset
|
283 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
284 Workaround Qt CMake Bugs: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
285 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
286 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
287 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g' |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
288 sed -i 's/^_qt5gui_find_extra_libs.*//' \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
289 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
290 |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
291 Compile the software: |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
292 |
575
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
293 cd trustbridge |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
294 mkdir build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
295 cd build-windows |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
296 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
297 cmake .. \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
298 -DCMAKE_PREFIX_PATH="$MXETARGET/qt5;$MXETARGET;" \ |
ab2d62fe2815
Add build documentation
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
299 -DCMAKE_TOOLCHAIN_FILE="$MXETARGET/share/cmake/mxe-conf.cmake" \ |
1024
5ec1cf66922e
Use curl now!
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1019
diff
changeset
|
300 -DCMAKE_VERBOSE_MAKEFILE=True |
848
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
301 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
302 Runtime Depdendencies |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
303 ===================== |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
304 The Admin tool needs some additional software to be able to create installtion |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
305 packages: |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
306 |
9792c69201c2
Add note about runtime dependencies for admin tool
Andre Heinecke <andre.heinecke@intevation.de>
parents:
847
diff
changeset
|
307 apt-get install nsis wine sharutils |
1253
eb4d7337edd7
Fix INSTALL file so that it can be included in doxygen
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1192
diff
changeset
|
308 */ |