Project

General

Profile

Actions

Installing Wt on QNX

PRELIMINARY: this document is not yet finished. It is intended for the upcoming Wt version 3.1.9.

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.

Build boost for QNX.

These instructions and the patch below are for boost 1.46.1, the most recent boost at the time of writing of this document.

In general, boost seems to work pretty ok with Qnx. To work around some compiletime and runtime problems, you should apply this patch:

diff -ru boost_1_46_1/libs/filesystem/v3/src/operations.cpp ../boost_1_46_1/libs/filesystem/v3/src/operations.cpp
--- boost_1_46_1/libs/filesystem/v3/src/operations.cpp  2011-03-03 18:00:21.000000000 +0000
+++ ../boost_1_46_1/libs/filesystem/v3/src/operations.cpp   2011-03-22 15:40:32.000000000 +0000
@@ -32,7 +32,7 @@

 #if !(defined(__HP_aCC) && defined(_ILP32) && \
       !defined(_STATVFS_ACPP_PROBLEMS_FIXED))
-#define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect,
+//#define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect,
 #endif
 #if !defined(__PGI)
 #define __USE_FILE_OFFSET64 // but that is harmless on Windows and on POSIX
@@ -182,6 +182,7 @@
 #include <string>
 #include <cstring>
 #include <cstdio>      // for remove, rename
+#include <stdio.h>
 #include <cerrno>
 #include <cassert>
 // #include <iostream>    // for debugging only; comment out when not in use

This patch has been submitted to boost: https://svn.boost.org/trac/boost/ticket/5355

The second file that requires patching is exception_ptr.hpp:

--- boost_1_46_1/boost/exception/detail/exception_ptr.hpp    2011-03-10 07:34:15.000000000 +0000
+++ boost/exception/detail/exception_ptr.hpp 2011-03-24 03:09:33.000000000 +0000
@@ -67,6 +67,7 @@
             boost::exception,
             std::bad_alloc
                 {
+~bad_alloc_() throw() {}
                 };

         template <int Dummy>

Then, bootstrap and compile boost:

# cd boost_1_46_1
# ./bootstrap.sh --with-libraries=date_time,filesystem,program_options,regex,signals,system,thread
# ./bjam toolset=qcc variant=release link=static threading=multi install

Build cmake for QNX

Just follow the instructions in the Readme.txt file. I built cmake 2.8.4 without problems:

# ./bootstrap
# make
# make install

Build Wt for QNX

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.

# tar xvzf wt-3.1.9.tar.gz
# cd wt-3.1.8
# mkdir build
# cd build
# cmake -DCMAKE_C_COMPILER=qcc -DCMAKE_CXX_COMPILER=QCC ..
# make
# cd examples
# make

Updated by Wim Dumon about 11 years ago ยท 6 revisions