Getting started

Want to get started developing on Symbian?

These steps explain what you need to do to set-up a development environment for the Symbian platform.

1. Install Perl
To build the code you need ActivePerl, a standard distribution of the Perl language. The Symbian Foundation recommend Perl 5.8.9. Further information in Kits Q&A.

2. Install Python
Symbian Build System v2 (SBSv2) needs ActiveState Python 2.5.1 or later installed. This is a standard distribution of the Python language. Symbian Foundation suggests Python 2.5.4, but I installed ActivePython as the latest version of SBSv2 didn’t find python26.dll otherwise. Further information in Kits Q&A.

3. Install Java
Download the Java SE Development Kit from I used JDK 6 Update 18

4. Install 7-zip
The Product Development Kit is distributed as a collection of zip files. You should install 7-zip from to unpack them because other zip tools have been known to have problems with the number of files in the archives.

5. Get a Product Development Kit
The Product Development Kit (PDK) contains the binaries, tools and source code you need to develop code and build products. The latest PDK is Symbian^3 Platform Release v3.0.f.

You can download the zip files using your browser and unzip them using 7-Zip, or better still use the utility as described in How to Download a PDK. Unzip everything to a new drive, created with the subst command.

6. Install PDT 1.5
The Product Development Toolkit (PDT) contains a complete set of PC-side tools (such as Carbide.c++) and documentation. I installed the Product Development Toolkit (PDT) v1.5 and then the PDK overlay to install the tools to the epoc32 tree.

7. Install the GCC compiler
Install Sourcery G++ Lite 2009q3-63 to build for ARM hardware using the free GCC toolchain. When installing, do not use the default installation path. You need to install it without any spaces in the path as described in The GCCE toolchain initiative

Download the update needed to SBSv2 from the PDK download page (GCC Support – Raptor 2.12.1) and unzip it over the Raptor directory in your PDT install.

You might need to set-up some environment variables to get everything running. There’s good advice on if you do a search. I had to add:

set SBS_GCCE432BIN=C:/Apps/CodeSourcery/GCCE/bin

8. Install Mercurial
Mercurial is the SCM tool used by the Symbian Foundation. Install it from the Mercurial site and follow the guidance in Mercurial Quick Start to configure the tool.

9. Check your development environment
Follow the instructions on to test your development environment. The output will look something like this:

Z:\>perl -version

This is perl, v5.8.9 built for MSWin32-x86-multi-thread
(with 12 registered patches, see perl -V for more detail)

Z:\>python -V
Python 2.5.4

Z:\>java -version
java version “1.6.0_18”
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)

Z:\>mwccsym2.exe -version
Nokia Codewarrior C/C++ Compiler for Windows/x86.
Copyright (c) 2008, Nokia Corporation
All rights reserved.
Version 3.2.5 build 473 (Build 473)
Runtime Built: Apr 30 2008 14:33:37

Z:\>arm-none-symbianelf-gcc.exe -v
Using built-in specs.
Target: arm-none-symbianelf
Configured with: ….
Thread model: single
gcc version 4.4.1 (Sourcery G++ Lite 2009q3-63)

Start the emulator with \epoc32\release\winscw\udeb\epoc.exe

10. Get the code, and make changes
Get the latest persistentdata MCL code using Mercurial:

Z:\>hg clone
destination directory: persistentdata
requesting all changes
adding changesets
adding manifests
adding file changes
added 5 changesets with 5738 changes to 5727 files (+1 heads)
updating to branch default
5721 files updated, 0 files merged, 0 files removed, 0 files unresolved

Everything you need to know about building the code, working with Mercurial and making your first change is available from the Symbian Platform Contributors category on If you get stuck, use the Developer Forums. We’ll be happy to help.

This post describes how you can install and configure a Symbian development environment for development. It might seem like a lot of steps to get set-up, but most of the tools are a one-off installation and once installed can be used for every new release of the platform.

There is a nice graphical representation of the installation process on the Symbian developer site.


9 Responses to “Getting started”

  1. Andrew Wafaa Says:

    Is there any chance of getting a similar walkthrough but for Linux? I personallyuse openSUSE, but if you have an Ubuntu guide that should work for the most part (only issue may be some of the package names are a bit different).

    Many thanks.

  2. cdudding Says:

    Sure. I’ll put together some guidance for Linux (and other platforms) in a future post. I don’t have any personal experience of Symbian development on Linux, but I know it is possible and there is work-in-progress to make it a lot easier.

    Until then, there is a wiki page for
    Developing for Symbian on Linux, guidance on setting up SBSv2 in the forums and some useful contacts in teknolog’s forum post about Linux development.

  3. Jan Andersson Says:

    This is both sad and great! Sad because I am an person who dislikes development tools installations which require so many separate steps and stuff just to get it working, great because someone explains it so well now that it is the only way of doing it. My experience with Symbian development and all those things necessary for doing it is that it’s really easy to break the function of some of the parts. Could be so simple that one has installed to a non-C: drive or to paths which contains spaces, and that fixing it then can be really hard.

    • cdudding Says:

      Thanks for your comments.

      I think you have valid point. It is harder than it should be to get a working development environment right now.

      The good news is that the Symbian Foundation and the tools packages are listening to the community and helping to coordinate solutions. The Development Tools Manager, Paul Beusterien, gathered input to his tools strategy from the community last year (see this post on the Tools forum).

      I’m sure he would welcome any additional comments you may have via the Tools Forum.


  4. uberVU - social comments Says:

    Social comments and analytics for this post…

    This post was mentioned on Twitter by symbiandevco: Get started with #symbian by Chris Dudding:

  5. Navneeth Baliga Says:

    hi ,

    I am very new to this symbian environment and very recently I have been working on a symbian project for my academic research and I have downloaded the pdk and all the ,mentioned softwares, the only thing that I dont know is where can I find the PDT. I have downloaded the symbian pdk 4.0 and could you pls tell how to overlay the pdk on this pdt. i will be very grateful if you can help me out with these questions.

    Thanks and Regards

  6. Navneeth Baliga Says:


    Actually I got the pdt . Now my question is i have unzipped the pdt and also the pdk . From here how do I proceed to running the symbian kernel on the emulator. Could you please explain me how to overlay the pdt to the epoc32 tree. Could you please guide me from this point. I will be very grtaeful if you can help me out of this one.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: