Mercurial > trustbridge
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 |