Installing Wt on QNX » History » Version 1
  Wim Dumon, 03/22/2011 06:24 PM 
  
| 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 | Then, bootstrap and compile boost: | ||
| 39 | <pre> | ||
| 40 | # cd boost_1_46_1 | ||
| 41 | # ./bootstrap --with-libraries=date_time,filesystem,program_options,regex,signals,system,thread | ||
| 42 | # ./bjam toolset=qcc variant=release link=static threading=multi install | ||
| 43 | </pre> | ||
| 44 | |||
| 45 | h2. Build cmake for QNX | ||
| 46 | |||
| 47 | Just follow the instructions in the Readme.txt file. I built cmake 2.8.4 without problems: | ||
| 48 | |||
| 49 | <pre> | ||
| 50 | # ./bootstrap | ||
| 51 | # make | ||
| 52 | # make install | ||
| 53 | </pre> | ||
| 54 | |||
| 55 | h2. Build Wt for QNX | ||
| 56 | |||
| 57 | 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. | ||
| 58 | |||
| 59 | <pre> | ||
| 60 | # tar xvzf wt-3.1.8.tar.gz | ||
| 61 | # cd wt-3.1.8 | ||
| 62 | # mkdir build | ||
| 63 | # cd build | ||
| 64 | # cmake -DCMAKE_C_COMPILER=qcc -DCMAKE_CXX_COMPILER=QCC .. | ||
| 65 | </pre> |