Installing Wt on QNX » History » Version 6
Wim Dumon, 04/04/2013 09:47 AM
| 1 | 1 | Wim Dumon | h1. Installing Wt on QNX |
|---|---|---|---|
| 2 | |||
| 3 | PRELIMINARY: this document is not yet finished. It is intended for the upcoming Wt version 3.1.9. |
||
| 4 | |||
| 5 | These are the guidelines to install Wt on Qnx. The procedure is very similar to other POSIX systems, but you need to work around some bugs in some libraries. |
||
| 6 | |||
| 7 | h2. Build boost for QNX. |
||
| 8 | |||
| 9 | These instructions and the patch below are for boost 1.46.1, the most recent boost at the time of writing of this document. |
||
| 10 | |||
| 11 | In general, boost seems to work pretty ok with Qnx. To work around some compiletime and runtime problems, you should apply this patch: |
||
| 12 | |||
| 13 | <pre> |
||
| 14 | diff -ru boost_1_46_1/libs/filesystem/v3/src/operations.cpp ../boost_1_46_1/libs/filesystem/v3/src/operations.cpp |
||
| 15 | --- boost_1_46_1/libs/filesystem/v3/src/operations.cpp 2011-03-03 18:00:21.000000000 +0000 |
||
| 16 | +++ ../boost_1_46_1/libs/filesystem/v3/src/operations.cpp 2011-03-22 15:40:32.000000000 +0000 |
||
| 17 | @@ -32,7 +32,7 @@ |
||
| 18 | |||
| 19 | #if !(defined(__HP_aCC) && defined(_ILP32) && \ |
||
| 20 | !defined(_STATVFS_ACPP_PROBLEMS_FIXED)) |
||
| 21 | -#define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect, |
||
| 22 | +//#define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect, |
||
| 23 | #endif |
||
| 24 | #if !defined(__PGI) |
||
| 25 | #define __USE_FILE_OFFSET64 // but that is harmless on Windows and on POSIX |
||
| 26 | @@ -182,6 +182,7 @@ |
||
| 27 | #include <string> |
||
| 28 | #include <cstring> |
||
| 29 | #include <cstdio> // for remove, rename |
||
| 30 | +#include <stdio.h> |
||
| 31 | #include <cerrno> |
||
| 32 | #include <cassert> |
||
| 33 | // #include <iostream> // for debugging only; comment out when not in use |
||
| 34 | </pre> |
||
| 35 | |||
| 36 | This patch has been submitted to boost: https://svn.boost.org/trac/boost/ticket/5355 |
||
| 37 | |||
| 38 | 4 | Wim Dumon | The second file that requires patching is exception_ptr.hpp: |
| 39 | <pre> |
||
| 40 | --- boost_1_46_1/boost/exception/detail/exception_ptr.hpp 2011-03-10 07:34:15.000000000 +0000 |
||
| 41 | +++ boost/exception/detail/exception_ptr.hpp 2011-03-24 03:09:33.000000000 +0000 |
||
| 42 | @@ -67,6 +67,7 @@ |
||
| 43 | boost::exception, |
||
| 44 | std::bad_alloc |
||
| 45 | { |
||
| 46 | +~bad_alloc_() throw() {} |
||
| 47 | }; |
||
| 48 | |||
| 49 | template <int Dummy> |
||
| 50 | |||
| 51 | </pre> |
||
| 52 | |||
| 53 | 1 | Wim Dumon | Then, bootstrap and compile boost: |
| 54 | <pre> |
||
| 55 | # cd boost_1_46_1 |
||
| 56 | 3 | Wim Dumon | # ./bootstrap.sh --with-libraries=date_time,filesystem,program_options,regex,signals,system,thread |
| 57 | 1 | Wim Dumon | # ./bjam toolset=qcc variant=release link=static threading=multi install |
| 58 | </pre> |
||
| 59 | |||
| 60 | h2. Build cmake for QNX |
||
| 61 | |||
| 62 | Just follow the instructions in the Readme.txt file. I built cmake 2.8.4 without problems: |
||
| 63 | |||
| 64 | <pre> |
||
| 65 | # ./bootstrap |
||
| 66 | # make |
||
| 67 | # make install |
||
| 68 | </pre> |
||
| 69 | |||
| 70 | h2. Build Wt for QNX |
||
| 71 | |||
| 72 | Download Wt, and untar it in a directory wt-x.y.z. There's one important catch: cmake will by default select a different compiler than qcc to build Wt - and we noticed this doesn't work very well. Since we have built boost with qcc, we'll also build Wt with qcc. |
||
| 73 | |||
| 74 | <pre> |
||
| 75 | 4 | Wim Dumon | # tar xvzf wt-3.1.9.tar.gz |
| 76 | 1 | Wim Dumon | # cd wt-3.1.8 |
| 77 | # mkdir build |
||
| 78 | # cd build |
||
| 79 | # cmake -DCMAKE_C_COMPILER=qcc -DCMAKE_CXX_COMPILER=QCC .. |
||
| 80 | 2 | Wim Dumon | # make |
| 81 | # cd examples |
||
| 82 | # make |
||
| 83 | 1 | Wim Dumon | </pre> |