comparison INSTALL @ 876:0051cb07da28

Reduce libraries, document i386 build and statically link fonts.
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 07 Aug 2014 19:12:37 +0200
parents e4cf249ba1a6
children 7ea29b5183a3
comparison
equal deleted inserted replaced
875:a43ebf716abd 876:0051cb07da28
1 Installation Instructions 1 Installation Instructions
2 ************************* 2 *************************
3 3
4 For Debian based GNU / Linux 4 For Debian based GNU / Linux
5 ============================ 5 ============================
6 Tested development platform: Ubuntu 14.4. 6 Tested development platform: Ubuntu 14.4 amd64.
7 7
8 The following commands build qt5 and polarssl which are dependencies of the Software. 8 The following commands build qt5 and polarssl which are dependencies of the Software.
9 To only build for the amd64 platform omit the i386 instructions.
10
9 For build dependencies please refer to the Qt documentation 11 For build dependencies please refer to the Qt documentation
10 ( qtbase/src/plugins/platforms/xcb/README ). 12 ( qtbase/src/plugins/platforms/xcb/README ).
11 Polarssl needs cmake and build-essentials. 13 Polarssl needs cmake and build-essentials.
12 14
13 export YOURPREFIX=<Prefix of your choice (default /usr)> 15 export YOURPREFIX=<Prefix of your choice (default /usr)>
29 see ../qtbase/src/plugins/platforms/xcb/README 31 see ../qtbase/src/plugins/platforms/xcb/README
30 32
31 ./configure --prefix=$YOURPREFIX \ 33 ./configure --prefix=$YOURPREFIX \
32 -opensource \ 34 -opensource \
33 -release -nomake tests -nomake examples -confirm-license \ 35 -release -nomake tests -nomake examples -confirm-license \
34 -static -no-cups -no-nis -no-icu -fontconfig \ 36 -static -no-cups -no-nis -no-icu -no-fontconfig -qt-freetype \
35 -no-directfb -no-opengl -no-kms -no-eglfs -no-egl -no-openssl -no-glib \ 37 -no-directfb -no-opengl -no-kms -no-eglfs -no-egl -no-openssl -no-glib \
36 -system-libpng -qpa xcb -qt-xcb -no-nis -no-libjpeg -no-gif && \ 38 -system-libpng -qpa xcb -qt-xkbcommon -qt-xcb -no-nis -no-libjpeg -qt-libpng \
39 -qt-zlib -no-gif && \
37 nice make -j8 && \ 40 nice make -j8 && \
38 make install 41 make install
39 42
40 cd .. && \ 43 cd .. && \
41 cd qttools/src/designer/src/uitools && \ 44 cd qttools/src/designer/src/uitools && \
66 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static 69 hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static
67 mkdir build-linux 70 mkdir build-linux
68 cd build-linux 71 cd build-linux
69 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX 72 cmake .. -DCMAKE_PREFIX_PATH=$YOURPREFIX
70 73
74
75 I386
76 ====
77 Install dependencies (list might be incomplete)
78 apt-get install libx32stdc++-4.8-dev libc6:i386 g++-4.8-multilib \
79 libxcb1:i386 libxcb1-dev:i386 libx11-xcb1:i386 libx11-xcb-dev:i386 libxcb-keysyms1:i386 \
80 libxcb-keysyms1-dev:i386 libxcb-image0:i386 libxcb-image0-dev:i386 \
81 libxcb-shm0:i386 libxcb-shm0-dev:i386 libxcb-icccm4:i386 \
82 libxcb-icccm4-dev:i386 libxcb-sync-dev:i386 \
83 libxcb-render-util0:i386 libxcb-render-util0-dev:i386 \
84 libxcb-xfixes0-dev:i386 libxrender-dev:i386 libxcb-shape0-dev:i386 \
85 libxcb-randr0-dev:i386 libxcb-glx0-dev:i386 libdbus-1-dev:i386 \
86 libsm-dev:i386
87
88 Some packages are problematic as they do not support multiarch installation so
89 we just download and extract them.
90 mkdir $YOURPREFIX/i386/packages
91 apt-get download -o=Debug::NoLocking=1 -o=dir::cache=$YOURPREFIX/i386/packages libxi-dev:i386 \
92 libfontconfig1-dev:i386 libfreetype6-dev:i386
93 cd $YOURPREFIX/i386/packages
94 for file in *.deb; do; dpkg -x $file .; done;
95
96 Create a new directory for qt. As qt has to build in source you need a different
97 directory.
98 mkdir i386
99 cd i386
100 tar -xf ../qt-everywhere-opensource-src-5.3.1.tar.xz
101 cd qt-everywhere-opensource-src-5.3.1/qtbase/
102 ./configure --prefix=$YOURPREFIX/i386 \
103 -opensource -platform linux-g++-32 \
104 -release -nomake tests -nomake examples -confirm-license \
105 -static -no-cups -no-nis -no-icu \
106 -no-directfb -no-opengl -no-kms -no-eglfs -no-egl -no-openssl -no-glib \
107 -system-libpng -qpa xcb -qt-xcb -no-nis -no-libjpeg -no-gif -qt-zlib \
108 -no-fontconfig -qt-freetype -qt-libpng -qt-xkbcommon \
109 && \
110 nice make -j8 && \
111 make install
112
113 Switch back to the polarssl directory
114 cd ../../../polarssl-1.3.8/
115 mkdir build-i386
116 cd build-i386
117 cmake .. -DCMAKE_C_FLAGS="-fpic -m32" -DCMAKE_INSTALL_PREFIX=$YOURPREFIX/i386 \
118 -DCMAKE_VERBOSE_MAKEFILE=True \
119 -DENABLE_TESTING=FALSE -DENABLE_PROGRAMS=FALSE && \
120 nice make -j8 && \
121 make install
122
123 Now for Trustbridge itself
124 cd ../../trustbridge
125 mkdir build-i386
126 cd build-i386
127 cmake .. -DCMAKE_PREFIX_PATH="$YOURPREFIX/i386" \
128 -DCMAKE_VERBOSE_MAKEFILE=True \
129 -DCMAKE_C_FLAGS=-m32 \
130 -DCMAKE_CXX_FLAGS="-m32"
71 131
72 Hiawatha (for Downloader unit test) 132 Hiawatha (for Downloader unit test)
73 =================================== 133 ===================================
74 Hiawatha is used in the downloader unit tests to provide a testbench 134 Hiawatha is used in the downloader unit tests to provide a testbench
75 for the ssl connection. To build it you may need libxslt-dev as additional 135 for the ssl connection. To build it you may need libxslt-dev as additional

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