Project

General

Profile

Installing Wt on QNX » History » Revision 5

Revision 4 (Wim Dumon, 03/29/2011 05:11 PM) → Revision 5/6 (Jay Health, 03/13/2013 11:16 AM)

h1. 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. 

 h2. 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: 

 <pre> 
 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 
 </pre> 

 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: 
 <pre> 
 --- 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> 

 </pre> 

 Then, bootstrap and compile boost: 
 <pre> 
 # 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 
 </pre> 

 h2. Build cmake for QNX 

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

 <pre> 
 # ./bootstrap 
 # make 
 # make install 
 </pre> 

 h2. 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. 

 <pre> 
 # 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 
 </pre> 

 "how to write a persronal statement":http://www.essaywriter.co.uk/personal-statement-help.aspx 
 "powerpoint presentation":http://www.essaywriter.co.uk/powerpoint.aspx 
 "personal statement examples":http://www.essaywriter.co.uk/personal-statement-examples.aspx