Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.
Using Carbide.c++ and S60 SDKs on Linux
The following info is copied from Nokia Developer's Discussion Boards. All due credit goes to basus3.
I haven't write down yet detailed instructions, but I plan to sometime make a clean installation and write a step by step instructions.
Here is a small reference to what I did:
- Installed Eclipse 3.2.2
(same release that Carbide is based, I haven't checked if this work with newer versions of Eclipse)
- Installed Wine-1.0
- Edited sysctl.conf file
vm.mmap_min_addr = 0 (Greated values than zero provide security against kernel vulnerabilities, but they also make some programs fail since they need to access low memory (Like WINE). You can also change this per session based, but you need to change the value every time you start a new session.)
- Installed jre from java.sun.com (newest stable version)
(just wine yourpackage.exe)
- Installed ActivePerl
(You should obtain *.msi package since the zipped package fails to install. You install this with msiexec /i yourpackage.msi)
- Installed Carbide c++
(Just wine the installer. This complained that you don't have eclipse installed, but you need this installation only to obtain the plug-ins and features)
- Installed S60 SDK
(Should install fine since you have java and active perl installed)
Now you need to start to configure...
Eclipse have a directory in /usr/local/lib/eclipse this directory have to directories "features" and "plugins". I have installed those features and plug-ins that I have copied by hand here to separate them from those installed by Eclipse elsewhere.
To install S60 documentation to Eclipse you need to copy documentation plug-ins from S60 SDK here under "plug-ins". You can find them in you WINE directory, normally under .wine drive_c (or where you installed the SDK package). From there locate "docs" directory and under that "plug-ins" and copy necessary plug-ins into /usr/local/lib/eclipse/plug-ins.
- SDK integration:
This one is a bit tricky... you need to find you Carbide installation. It is normally in the .wine directory under "Program Files". In the Carbide directory you can find two directories "features" and "plug-ins". These plug-ins and features integrate Eclipse to the S60 SDK. What I did I copied files from features to /usr/local.../features and plug-ins to /usr/local.../plug-ins file by file starting from those com.nokia* files. Of course you can copy all the files at the same time and remove plug-ins that possible conflict with Eclipse plug-ins. When I started the Eclipse I started it from command line with debug mode to get information about possible conflicts.
- Emulators should work but you need to run them inside WINE, so you need to edit script to have wine and path to your S60 installation (and possible parameters)
- Some tools may complain about libraries. WINE libraries may not have all the necessary features available and for those libraries you need to use native libraries that comes with the SDK. For that reason you configure WINE to use native libraries from "Application->Configure Wine". In the "Application" tab you add a application configuration (f.g. epoc.exe) and you an override the libraries. Epoc.exe needs to have override for the HAL library so you add override HAL and specify it to be native.
I tried to run Carbide inside the WINE, but it seems that there is a memory problem in Java. I haven't figured out yet how to fix it.
I hope these instructions get you started, I'll try to make more detailed instructions sometime... Happy hacking.
Note: There is some more information here: http://www.martin.st/symbian/