INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

Installing Orca on QNX Neutrino

Note:
Reviewed for release 2.4.0.

These are detailed instructions for installing Orca on QNX Neutrino Real Time OS. They are known to work with OS version 6.3 SP3. See Download and Install Orca for general guidelines.

OS and Utilities

QNX standard installation includes a minimum set of UNIX utilities. If you are going to be doing some develepment in QNX it helps if you add some basics. Get the the 3rd party package CD, run the Installer (click on Launch in low-left corner) and install the following:

  • GNU bash
  • GNU libtool
  • GNU man
  • GNU pkgconfig
  • GNU Text Utils
  • OpenSSH
  • Perl
  • Python

Set up environment variables by adding this to $HOME/.profile

export CXX=QCC
export CC=qcc
export CXXFLAGS="-V3.3.5,gcc_ntox86_cpp"
export CFLAGS="-V3.3.5,gcc_ntox86"
export LDFLAGS="-lang-c++ -lm"
export CVS_RSH=ssh

Standard shell is ksh. If you prefer to use bash, you can, it is installed in /opt/bin. But the environment does not seem to be setup automatically. These environment variables must be defined for you to be able to compile stuff.

export PATH=$PATH:/opt/X11R6/bin:/usr/X11R6/bin:/usr/local/bin:/opt/bin:/usr/qnx630/host/qnx6/x86/usr/bin:\
/usr/qnx630/host/qnx6/x86/usr/sbin:/usr/qnx630/host/qnx6/x86/sbin:/usr/qnx630/host/qnx6/x86/bin:\
/usr/qnx630/host/qnx6/x86/usr/photon/appbuilde
export QNX_HOST=/usr/qnx630/host/qnx6/x86
export QNX_TARGET=/usr/qnx630/target/qnx6

CMake

Minimum version required 2.4-patch 2 (latest tested: 2.4-patch 6).

$ tar -xzf cmake-[VERSION].tar.gz
$ cd cmake-[VERSION]
$ ./bootstrap
$ make
# make install

Ice

Minimum version required 3.2.0 (latest tested: 3.2.0).

Ice packages for QNX do not exist, so we have to build from source. Following the instructions below will install Ice to the default location /opt/Ice-[VERSION]. We recommend doing this but, if you have a good reason, you can change it by editing the file config/Make.rules.

First, install Ice dependencies. You can download the ThirdPartySources archive from ZeroC but they tend to be a bit out of date. Below we point out where newer versions are required.

$ tar -xzf expat-[VERSION].tar.gz
$ cd expat-[VERSION]
$ ./configure --prefix=/opt/expat-[VERSION]
$ make
# make install
# ln -s /opt/expat-[VERSION] /opt/expat
  • libbzip2. The version which comes from ZeroC is 1.0.3, it worked fine.
$ tar -xzf bzip2-[VERSION].tar.gz
$ cd bzip2-[VERSION]
$ make
# make install PREFIX=/opt/bzip2-[VERSION]
# ln -s /opt/bzip2-[VERSION] /opt/bzip2
  • Berkley DB. This one is fun. This DB officially supports QNX but it didn't work out of the box. Ice requires v.4.3 and distributes v.4.3.29. I couldn't link Ice dynamically to it no matter what I tried, with this version and later ones 4.4.20 and 4.5.20. It compiled but at run time puked after complaining about "Unknown symbols" (11 of them). At the end I managed to get Ice working when linked statically to libdb_cxx. But because the db symbols are used in libFreeze.so, the db library has to be special: static but with PIC option enabled.
$ tar -xzf db-4.5.20.NC.tar.gz
$ cd db-4.5.20.NC/build_unix
$ ../dist/configure --enable-cxx --prefix=/opt/db-4.5.20
$ make
$ QCC -A libdb_cxx-4.5S.a .libs/*.o
# make install
# cp libdb_cxx-4.5S.a /opt/db-4.5.20/lib/.
# ln -s /opt/db-4.5.20 /opt/db
  • libOpenSSL. Build v.0.9.8b from source (requires Perl5). The binary package of 0.9.7 on the 3rd party CD didn't work. At the end some tests in IceSSL failed. I didn't try hard to fix it because I don't need SSL.
$ tar -xzf openssl-[VERSION].tar.gz
$ cd openssl-[VERSION]
$ ./config --prefix=/opt/openssl-[VERSION]
$ make
# make install
# ln -s /opt/openssl-[VERSION] /opt/openssl

Now Ice itself.

  • Configure
    • Edit [ICE-SRC]/config/Make.rules file. If you followed these installation instructions, simply uncomment the lines corresponding to BZIP2_HOME, DB_HOME, and EXPAT_HOME. Remove the question marks.
      BZIP2_HOME      = /opt/bzip2
      DB_HOME	        = /opt/db
      EXPAT_HOME      = /opt/expat
      OPENSSL_HOME    = /opt/openssl
      
  • Compile and install. Tests are optional, but in this case they are highly recommended.
    $ make
    $ make test
    # make install
    
    Note:
    Compilation of the demo files is disabled. You can enable it by uncommenting the original line about SUBDIRS in the top-level Makefile. If you do try to compile the demo then towards the end of the compilation you'll get an error. You'll have to manually modify the auto-generated files. Add "#include <ctype.h>" to these two files:
    • [ICE-SRC]/demo/Freeze/phonebook/NameIndex.cpp
    • [ICE-SRC]/demo/Freeze/bench/BenchTypes.cpp
  • Make sure that the Ice binaries and executables are in the path. You may want to add this snippet to your ~/.profile file (don't forget to replace [VERSION]).
    export ICE_HOME=/opt/Ice-[VERSION]
    export PATH=$ICE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ICE_HOME/lib:$LD_LIBRARY_PATH
    

Orca

Build and install Orca2 distribution.

  • Download the latest release of orca2 and un-tar the archive.
  • The default installation directory is /opt/orca-[VERSION], where [VERSION] is the Orca version. You can customized this by setting ORCA_INSTALL environment variable (e.g. 'export ORCA_INSTALL=~/orca2').
  • Configure using cmake . (note the dot after cmake)
  • Compile, and install. If you've changed your mind about the installation directory, you can change it using ccmake tool ('$ ccmake .').
    $ tar -zxf orca2-x.x.x.tar.gz
    $ cd orca2
    $ cmake .
    $ make
    # make install
    

Make sure that the binaries and executables are in the path. You may want to add a snippet to your ~/.profile file similar to the one below. Replace [VERSION] with the version of Orca you've just installed. Change the directory if you've modified the default install directory. Notice that the environment variable for the Orca installation to use (ORCA_HOME) is different from the one which specifies where to install Orca (ORCA_INSTALL). This allows multiple Orca installations on the same machine.

export ORCA_HOME=/opt/orca-[VERSION]
export PATH=$ORCA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORCA_HOME/lib:$LD_LIBRARY_PATH

These environment variables are optional but you may as well put them into your ~/.bashrc file now so that you have easy access to them later.

# uncomment to change the default location of Orca installation
# export ORCA_INSTALL=/opt/orca-[VERSION]
# uncomment to change the default location of the Orca global config file
# export ORCA_GLOBAL_CONFIG=$HOME/.orcarc

You are finished.

 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5