Nokia E90 Communicator / Symbian 60 Tcl/Tk Support ?

(Started by TV)

The title says what I want to ask: is there any at the moment, or stuff I could try to use for a build (without official signing, but I should have the devkit around)?

The machine/phone does live TCP sockets which should be great fun and has a very big screen for a phone (800x352) which could be great for Tk!

PCO (2010-22-11): Sounds like nobody has begun a TCL/TK port onto Symbian S60 ...

So I have had a glance on the Nokia S60 SDK : because it sounds like a POSIX API, port could be be possible and I whished to do it.

But when reading some SDK documents, it appears that <<select(). The POSIX select() function is not implemented in STDLIB because the Symbian platform does not in general support asynchronous "ready to read" or "ready to write" notification.>>.

By an other hand <<fork() or exec() functions are not implemented>>.

The missing select() issue is very problematic : TCL and TK respective mainloops are fully based on this mecanism.

At this point I am simply wondering if such a port is reasonably possible ?

By an other hand, I found this topic were select() seams to be memoryleakly provided, then fixed : "Symbian developer bug 35"

So I will make some trials and get back with conclusions.

MAKR (2008-08-29): As I will soon be the proud(?) owner of a Nokia E71, I looked into the issue too. Although Symbian provides a Porting Guide [L1 ] it became obvious that if you ever want to release something to the public, it is going to cost you real money [L2 ].

Furthermore, setting up a development environment has to be done under Windows. Except if you are willing to cobble something hybrid together, i.e. writing and compiling might work on Linux, but testing needs at least Wine. See here [L3 ] and here [L4 ] for howtos, patches, and toolchains.

Finally a warning, if you are going to sign into Forum Nokia, i.e. to download their IDE or SDKs [L5 ] read the Terms & Conditions very carefully! IANAL, but it seems to me that you will be signing an NDA.

With regard to Symbian OS there is also SonyEricsson with a quite large developer community [L6 ].

I will abuse this page to collect more information...

  • Here is a page outlining the signing restrictions to access various capabilities [L7 ], the links on that page provide also some insight.
  • The same wiki has a whole category dedicated to porting [L8 ]; therein a QnD hack to port autotools based apps [L9 ]
  • While reading on I stumbled over the My-Symbian [L10 ] community site
  • Here [L11 ] is an overly complicated process to get everything signed, without going through the Symbian Signed process

MAKR (2008-09-02): I am almost giving up. I was trying for 5 days now, to create a working development environment for Symbian - but in-vain. In the first three days I was checking whether I could get it running on Linux, but although the tool chain seemed to work, it did not compile a single example. The last two days now I tried the the recommended way and setup a Windows XP box with the SDK and IDE. But the emulator is not running, or more precise, it pops up, eats some CPU, and then silently vanishes again. The IDE keeps crashing, although it should be the most stable now. Information is scarce and scattered. And last but not least I am very pissed about the way Windows works: it's slow, it's complicated, it's time consuming, and it doesn't even have a decent shell! -> It's crap ...

Well, I will start over in a few days, retrying with Linux. Unless, of course, my wife talks some sense into me :-)...

MAKR (2008-09-09): I took the time and skimmed the discussions at Forum Nokia, as I could not believe that I am the first and/or only person experiencing this kind of lack of cooperation (from the software). And I was right; several threads are going about this topic, sort of concluding in a few hints, how to proceed [L12 ].

Well, basically you need a stock Windows XP Professional, switch off everything with regard to security, notably Windows Firewall, DEP, and McAfee VirusScan if you happen to use this virus scanner... In my case, however, it seems to work now, with a little bit of security retained:

  • I only removed all exceptions from the firewall and ensured I get asked if something should be blocked or not. Of course, the Symbian tools must be unblocked.
  • Then I switched DEP to only for essential Windows programs and services.
  • My running virus scanner software doesn't seem to cause any problems - yet...
  • The XP is updated to SP3 and the most recent patches.
  • It all is running in a VMware Workstation, and that seems to work as well.

The Hello World example builds from the IDE and executes in the emulator now...

DTT (2009-01-06): Hi there! What an experience! Can you (MAKR) tell me about the status? I want to have Tcl on my new N95 too. Perhaps I could help. Never do Symbian before though.

MAKR (2009-01-07): I basically gave up trying this on my own. I contacted EH, however, as his company made a non-public eTcl port to SymbianOS of some sort. I asked him for the sources and he said, he will consider my request, after looking what this actually means ... That was about a month ago.

DTT (2009-01-07): Thanks for a quick reply. I will contact EH for the current status of eTcl port for Symbian then.

TV So it gets stuck with the licence of the devenv ? I remember evaluating it shortly a year ago and that there was an issue of being able to install the resulting app without the right keys. Or is it a 'being able to built' matter? It would be fun to run Tcl and even Tk on the devices!

MAKR According to EH porting is not much of an issue as Symbian has a POSIX layer (called PIPS), so there are efforts, but they are a not so much of an issue. The build, however, is the biggest issue. As for the SDK license, well, as I already wrote IANAL, so read it and conclude yourself...

davidw - you could always try running Hecl on it:-)

TV Euhm, yeah, I tried, it does install on the Communicator, and indeed I can run it. That´s great in itself, but it seems not so overseeable in the sense of making my own script files, and when I tried the prompt, I can add integers but no floats, which according to the docu would seem to mean an old version, or is this depending on the example script?

I looked at the dev-files, and could run some of the utilities with java, but didn´t have ant around at that machine, maybe I´ll try on another, but then can I make a Hecl script on the phone which can read a simple scriptfile, or an interactive textwindow and execute commands from the latest version when I built a certain app version from the sources ?

I for instance would want to make a volume control applet for talking to a machine over the internet (the phone has always on IN!) but I don´t find it easy to oversee (or even find) all the installation files back on the phone installation, at least not without using a notebook, but I guess that´s a symbian matter.

Good idea, though.