Qt Reference Documentation

Installing Qt on the Symbian platform using Linux (experimental)

Note: This document describes how to install and configure Qt for the Symbian platform from scratch, using Linux as the build host. Qt for Symbian binaries can be downloaded directly so development of applications using Qt for Symbian can start right away.

  1. Setup the development environment

    Note: Qt for the Symbian platform has some requirements on the development platform. The Symbian SDK for Linux as well as a cross compiler for the ARM processor used on Symbian devices should be present on the development machine. See {http://qt.gitorious.org/qt/pages/QtCreatorSymbianLinux} for more details.

  2. Install Qt

    Uncompress the downloaded source package into the directory you want Qt installed, e.g. /home/user/qt/4.7.0.

  3. Environment variables

    In order to build and use Qt, the PATH environment variable needs to be extended to fine Qt tools and also to find the Symbian platform tools:

    First you need to set the EPOCROOT environment variable to point to the location of your S60 SDK:

     EPOCROOT=/home/user/s60-sdk/
     export EPOCROOT

    Then you can update the PATH variable;

     PATH=/home/user/qt/4.7.0/bin:$EPOCROOT/epoc32/tools:$PATH
     export PATH
  4. Configure Qt

    To configure Qt for the Symbian platform, do:

     cd /home/user/qt/4.7.0
     ./configure -platform linux-g++ -xplatform symbian/linux-armcc

    to build the libraries using RVCT or

     cd /home/user/qt/4.7.0
     ./configure -platform linux-g++ -xplatform symbian/linux-gcce -no-webkit

    to build the libraries using GCCE.

  5. Build Qt

    To build Qt for the device, type:

     make

    Congratulations, Qt is now ready to use.

  6. Building Qt packages for the device

    To run any application or demo on a real device, you need to install it on the device. To do this you first have to create a a package for the device, containing the libraries:

    1. Building a Qt package without a certificate

      If you have no certificate, build a self signed Qt:

       cd src
       make sis

      The Qt libraries are built with "All -Tcb" capability, so that they can support all types of applications. However, these capabilities are automatically lowered if you make a self-signed package.

    2. Building a Qt package with a Symbian developer certificate

      If you have a symbian-signed developer certificate, specify the capabilities you can sign for, for example:

       cd src/s60installs
       patch_capabilities.pl Qt_template.pkg - "ALL -Tcb -AllFiles -DRM"
       make sis QT_SIS_CERTIFICATE=<certificate file> QT_SIS_KEY=<certificate key file>
       cd ../3rdparty/webkit/WebCore
       patch_capabilities.pl QtWebKit_template.pkg - "ALL -Tcb -AllFiles -DRM"
       make sis QT_SIS_CERTIFICATE=<certificate file> QT_SIS_KEY=<certificate key file>
  7. Installing Qt packages to the device.

    It is possible to install packages to a phone in Linux by putting the package on the phone memory card and then installing manually from the phone menu. However, this is tedious and will not work on phones without a memory card, so the method recommended by Qt is to use the App TRK tool.

    1. Obtaining the App TRK package.

      Download the package from the following location.

      • Application TRK. Choose the correct installation package based on the S60 version of your device (S60_<S60-version>_app_trk_<TRK-version>.sisx).

      This package currently has to be installed by putting the package on the memory card and installing from the phone menu, or using a Windows PC for doing the install. However, the installation only has to be done once.

    2. Configuring App TRK on the phone.

      When App TRK is installed, connect the phone to the PC using the USB cable. Select "PCSuite" as connection type. Then run App TRK on the phone, and make sure that the connection type is USB. This can be changed under the Settings menu entry. If necessary, choose Connect from the menu.

    3. Configuring the USB serial driver on the Linux system.

      On Linux, phone should appear as the /dev/ttyUSB1 device, however if you are running an old kernel, you may need to force the USB module to be loaded correctly before the device will appear:

       lsusb

      Note the identifier on the line where your Symbian device appears. Then execute the following, using the first and second part of the identifier in place of XXX, respectively.

       sudo rmmod usbserial
       sudo modprobe usbserial vendor=0x0XXX product=0x0XXX

      The rmmod step may fail if the module is not already loaded, but that is harmless.

    4. Building the runonphone tool.

      Note that building the runonphone tool requires a separate installation of Qt for Linux. If there is a version of Qt installed by your distribution's package mechanism, that that should do fine. Some distributions separate the libraries from the development setup which includes qmake. Make sure you have both installed.

      First make sure that the qmake you use is taken from the Linux installation of Qt. The easiest way to make sure of this is to open a new shell and run the following command:

       $ qmake -version
       QMake version 2.01a
       Using Qt version 4.6.2 in /usr/lib/qt4

      qmake will tell you where it is installed.

      Copy the %QTDIR%/tools/runonphone folder to a place outside of the Qt tree. Then go to the folder in a shell and build it:

       cd $HOME/runonphone
       qmake
       make

      Copy the resulting executable to a folder which is in your PATH environment variable.

    5. Installing the built package onto the phone.

      Return to the root of the Qt tree configured for Symbian. Then install the Qt libraries by running the following:

       runonphone -s lib/Qt.sis

      Note: If the installation fails, please make sure that there is no previously installed version of Qt on the phone.

      Qt requires some dependent packages to be installed on the device, they are shipped in the Symbian SDK and can be installed using the runonphone tool as well. The packages can be found in the EPOCROOT at the following locations;

       nokia_plugin/openc/s60opencsis/openc_ssl_s60_1_6_ss.sis
       nokia_plugin/openc/s60opencsis/pips_s60_1_6_ss.sis
       nokia_plugin/opencpp/s60opencppsis/stdcpp_s60_1_6_ss.sis
  8. Running Qt demos

    We've included a subset of the Qt demos in this package for you to try out. An excellent starting point is the "fluidlauncher" demo.

    Install and run the demo by using the following commands:

     cd demos/embedded/fluidlauncher
     runonphone -s fluidlauncher.sis fluidlauncher.exe

    The same command can be used for other applications:

     cd myapp
     qmake
     make
     make sis
     runonphone -s myapp.sis myapp.exe

    For more information about building and running Qt programs on the Symbian platform, see The Symbian platform - Introduction to Qt.

    We hope you will enjoy using Qt.

X

Thank you for giving your feedback.

Make sure it is related to this specific page. For more general bugs and requests, please use the Qt Bug Tracker.