comparison INSTALL @ 1253:eb4d7337edd7

Fix INSTALL file so that it can be included in doxygen
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 25 Sep 2014 17:36:33 +0200
parents 7839d3d696a1
children dcce1e7201e2
comparison
equal deleted inserted replaced
1252:9a482182f80f 1253:eb4d7337edd7
1 Installation Instructions 1 /** @file INSTALL
2 @brief Installation Instructions
2 ************************* 3 *************************
3 4
4 For Debian based GNU / Linux 5 For Debian based GNU / Linux
5 ============================ 6 ============================
6 Tested development platform: Ubuntu 14.4 amd64. 7 Tested development platform: Ubuntu 14.4 amd64.
14 15
15 export YOURPREFIX=<Prefix of your choice (default /usr)> 16 export YOURPREFIX=<Prefix of your choice (default /usr)>
16 export PATH=$YOURPREFIX/bin:$PATH 17 export PATH=$YOURPREFIX/bin:$PATH
17 18
18 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 19 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
19
20 7f5bf93344cb57bac374ea4a32c8eda87f1357f998f14278e717cf84d0289bf0 20 7f5bf93344cb57bac374ea4a32c8eda87f1357f998f14278e717cf84d0289bf0
21 21
22 http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz 22 http://qt-mirror.dannhauer.de/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.xz
23 23
24 sha256sum qt-everywhere-opensource-src-5.3.2.tar.xz 24 sha256sum qt-everywhere-opensource-src-5.3.2.tar.xz
88 --disable-ftp --enable-http --enable-shared=no -enable-static=yes \ 88 --disable-ftp --enable-http --enable-shared=no -enable-static=yes \
89 --with-polarssl=$YOURPREFIX --without-ca-bundle --without-ca-path \ 89 --with-polarssl=$YOURPREFIX --without-ca-bundle --without-ca-path \
90 --without-zlib 90 --without-zlib
91 make && make install 91 make && make install
92 92
93 To compile the software you can use plain cmake. An out of source build is 93 To compile the software you can use plain cmake.
94 highly suggested. For build options see CMakeList.txt 94 An out of source build is highly suggested.
95 For build options see CMakeList.txt
95 96
96 cd trustbridge 97 cd trustbridge
97 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static 98 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static
98 mkdir build-linux 99 mkdir build-linux
99 cd build-linux 100 cd build-linux
101 102
102 103
103 I386 104 I386
104 ==== 105 ====
105 Install dependencies (list might be incomplete) 106 Install dependencies (list might be incomplete)
107
106 apt-get install libx32stdc++-4.8-dev libc6:i386 g++-4.8-multilib \ 108 apt-get install libx32stdc++-4.8-dev libc6:i386 g++-4.8-multilib \
107 libxcb1:i386 libxcb1-dev:i386 libx11-xcb1:i386 libx11-xcb-dev:i386 libxcb-keysyms1:i386 \ 109 libxcb1:i386 libxcb1-dev:i386 libx11-xcb1:i386 libx11-xcb-dev:i386 libxcb-keysyms1:i386 \
108 libxcb-keysyms1-dev:i386 libxcb-image0:i386 libxcb-image0-dev:i386 \ 110 libxcb-keysyms1-dev:i386 libxcb-image0:i386 libxcb-image0-dev:i386 \
109 libxcb-shm0:i386 libxcb-shm0-dev:i386 libxcb-icccm4:i386 \ 111 libxcb-shm0:i386 libxcb-shm0-dev:i386 libxcb-icccm4:i386 \
110 libxcb-icccm4-dev:i386 libxcb-sync-dev:i386 \ 112 libxcb-icccm4-dev:i386 libxcb-sync-dev:i386 \
111 libxcb-render-util0:i386 libxcb-render-util0-dev:i386 \ 113 libxcb-render-util0:i386 libxcb-render-util0-dev:i386 \
112 libxcb-xfixes0-dev:i386 libxrender-dev:i386 libxcb-shape0-dev:i386 \ 114 libxcb-xfixes0-dev:i386 libxrender-dev:i386 libxcb-shape0-dev:i386 \
113 libxcb-randr0-dev:i386 libxcb-glx0-dev:i386 libdbus-1-dev:i386 \ 115 libxcb-randr0-dev:i386 libxcb-glx0-dev:i386 libdbus-1-dev:i386 \
114 libsm-dev:i386 libnss3-dev:i386 116 libsm-dev:i386 libnss3-dev:i386
115 117
116 Create a new directory for qt. As qt has to build in source you need a different 118 Create a new directory for qt. As qt has to build in source you need a different
117 directory. 119 directory:
120
118 mkdir i386 121 mkdir i386
119 cd i386 122 cd i386
120 tar -xf ../qt-everywhere-opensource-src-5.3.2.tar.xz 123 tar -xf ../qt-everywhere-opensource-src-5.3.2.tar.xz
121 cd qt-everywhere-opensource-src-5.3.2/qtbase/ 124 cd qt-everywhere-opensource-src-5.3.2/qtbase/
122 ./configure --prefix=$YOURPREFIX/i386 \ 125 ./configure --prefix=$YOURPREFIX/i386 \
128 -no-fontconfig -qt-freetype -qt-libpng -qt-xkbcommon -no-xinput2 \ 131 -no-fontconfig -qt-freetype -qt-libpng -qt-xkbcommon -no-xinput2 \
129 && \ 132 && \
130 nice make -j`nproc` && \ 133 nice make -j`nproc` && \
131 make install 134 make install
132 135
133 Switch back to the polarssl directory 136 Switch back to the polarssl directory:
137
134 cd ../../../polarssl-1.3.8/ 138 cd ../../../polarssl-1.3.8/
135 mkdir build-i386 139 mkdir build-i386
136 cd build-i386 140 cd build-i386
137 cmake .. -DCMAKE_C_FLAGS="-fpic -m32" -DCMAKE_INSTALL_PREFIX=$YOURPREFIX/i386 \ 141 cmake .. -DCMAKE_C_FLAGS="-fpic -m32" -DCMAKE_INSTALL_PREFIX=$YOURPREFIX/i386 \
138 -DCMAKE_VERBOSE_MAKEFILE=True \ 142 -DCMAKE_VERBOSE_MAKEFILE=True \
139 -DENABLE_TESTING=FALSE -DENABLE_PROGRAMS=FALSE && \ 143 -DENABLE_TESTING=FALSE -DENABLE_PROGRAMS=FALSE && \
140 nice make -j`nproc` && \ 144 nice make -j`nproc` && \
141 make install 145 make install
142 146
143 Change to the curl directory 147 Change to the curl directory:
148
144 cd ../../curl-7.38.0/ 149 cd ../../curl-7.38.0/
145 mkdir build-i386 150 mkdir build-i386
146 cd build-i386 151 cd build-i386
147 CFLAGS="-fpic -m32" CPPFLAGS="-fpic -m32" ../configure --prefix=$YOURPREFIX/i386 \ 152 CFLAGS="-fpic -m32" CPPFLAGS="-fpic -m32" ../configure --prefix=$YOURPREFIX/i386 \
148 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \ 153 --without-nghttp2 --without-libidn --without-winidn --without-libssh2 \
188 Osslsigncode is used to create PKCS#7 embedded signatures for Windows Authenticode 193 Osslsigncode is used to create PKCS#7 embedded signatures for Windows Authenticode
189 it is needed for the Windows part of the binverify unit test on the build system. 194 it is needed for the Windows part of the binverify unit test on the build system.
190 195
191 wget http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz 196 wget http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz
192 sha256sum osslsigncode-1.7.1.tar.gz 197 sha256sum osslsigncode-1.7.1.tar.gz
193 # f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 198 f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9
194 tar -xf osslsigncode-1.7.1.tar.gz 199 tar -xf osslsigncode-1.7.1.tar.gz
195 cd osslsigncode-1.7.1 200 cd osslsigncode-1.7.1
196 ./configure --without-curl --prefix=$YOURPREFIX 201 ./configure --without-curl --prefix=$YOURPREFIX
197 make && make install 202 make && make install
198 203
199 # for a windows binary (optional) 204 #for a windows binary (optional):
200 OPENSSL_CFLAGS=-I$MXETARGET/include OPENSSL_LIBS="-L$MXETARGET/lib -lcrypto -lz -lgdi32" ./configure --without-curl --host=i686-w64-mingw32 --prefix=$MXETARGET 205 OPENSSL_CFLAGS=-I$MXETARGET/include OPENSSL_LIBS="-L$MXETARGET/lib -lcrypto -lz -lgdi32" ./configure --without-curl --host=i686-w64-mingw32 --prefix=$MXETARGET
201 206
202 For Microsoft Windows 207 For Microsoft Windows
203 ===================== 208 =====================
204 The Windows variant can be cross compiled on Debian based GNU / Linux systems. 209 The Windows variant can be cross compiled on Debian based GNU / Linux systems.
205 The minimum requirement is Debian stable. 210 The minimum requirement is Debian stable.
206 Tested development platform: Ubuntu 13.10. 211 Tested development platform: Ubuntu 13.10.
207 212
208 Dependencies on the Host system: 213 Dependencies on the Host system:
209 git autoconf automake bash bison bzip2 \ 214
215 apt-get install git autoconf automake bash bison bzip2 \
210 cmake flex gettext git g++ intltool \ 216 cmake flex gettext git g++ intltool \
211 libffi-dev libtool libltdl-dev libssl-dev \ 217 libffi-dev libtool libltdl-dev libssl-dev \
212 libxml-parser-perl make openssl patch perl \ 218 libxml-parser-perl make openssl patch perl \
213 pkg-config scons sed unzip wget xz-utils autopoint \ 219 pkg-config scons sed unzip wget xz-utils autopoint \
214 gperf 220 gperf
215 221
216 Build the windows binaries: 222 Build the windows binaries:
223
217 MXEPATH=$YOURPREFIX/win 224 MXEPATH=$YOURPREFIX/win
218 git clone https://github.com/Intevation/mxe.git $MXEPATH 225 git clone https://github.com/Intevation/mxe.git $MXEPATH
219 cd $MXEPATH 226 cd $MXEPATH
220 git checkout trustbridge 227 git checkout trustbridge
221 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk 228 echo "MXE_TARGETS := i686-w64-mingw32.static" > settings.mk
222 make polarssl 229 make polarssl
223 make qtbase 230 make qtbase
224 (optional) make curl 231
232 (optional)
233
234 make curl
225 235
226 Add CMAKE_STRIP to the toolchain file: 236 Add CMAKE_STRIP to the toolchain file:
237
227 echo "set(CMAKE_STRIP $MXEPATH/usr/bin/i686-w64-mingw32.static-strip)" >> \ 238 echo "set(CMAKE_STRIP $MXEPATH/usr/bin/i686-w64-mingw32.static-strip)" >> \
228 "$MXEPATH/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake" 239 "$MXEPATH/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake"
229 240
230 Workaround Qt CMake Bugs: 241 Workaround Qt CMake Bugs:
242
231 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \ 243 find $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake -name \*.cmake | \
232 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g' 244 xargs sed -i 's/\/\([a-z]*\)\.lib/\/lib\1\.a/g'
233 sed -i 's/^_qt5gui_find_extra_libs.*//' \ 245 sed -i 's/^_qt5gui_find_extra_libs.*//' \
234 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake 246 $MXEPATH/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
235 247
236 Compile the software: 248 Compile the software:
249
237 cd trustbridge 250 cd trustbridge
238 mkdir build-windows 251 mkdir build-windows
239 cd build-windows 252 cd build-windows
240 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/ 253 MXETARGET=$MXEPATH/usr/i686-w64-mingw32.static/
241 cmake .. \ 254 cmake .. \
247 ===================== 260 =====================
248 The Admin tool needs some additional software to be able to create installtion 261 The Admin tool needs some additional software to be able to create installtion
249 packages: 262 packages:
250 263
251 apt-get install nsis wine sharutils 264 apt-get install nsis wine sharutils
265 */

http://wald.intevation.org/projects/trustbridge/