I hate when I can’t do things. I really do, and one of the things I never managed to do is setting up a working Symbian development environment on Linux. I tried with GnuPoc several times without much of a result, so when I stumbled upon the news that Qt was ported to Symbian I really thought that things were going to get brighter. They weren’t. Well, kind of.
GnuPoc 1.16 was released some days ago adding support for the Qt SDK so I thought I had to give it another try.
To build the Qt SDK we also need OpenC/C++, the latest version of GnuPoc supports version 1.6 of OpenC/C++ and, with my luck, version 1.7.5 of OpenC/C++ was released some days later making the previous 1.6 disappear from the face of the internet. Let’s see what we can do!
Before going any further you must have a working toolchain for your SDK, read the README file in gnupoc-package-1.16/tools if you don’t know how to do it. When you are set feel free to proceed!
Download OpenC/C++ SDK Plug-In 1.7.5: s60_open_c_cpp_plug_in_v1_7_en.zip
If we try to build the current version using the old script (install_openc_16_s60 in gnupoc-package-1.16/sdks) we get:
./install_openc_16_s60 ../../qt-symbian/s60_open_c_cpp_plug_in_v1_7_en.zip ../../symbian-sdks/s60_31
Archive: ../../qt-symbian/s60_open_c_cpp_plug_in_v1_7_en.zip
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/data1.cab
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/data1.hdr
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/data2.cab
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/ISSetup.dll
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/layout.bin
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/Nokia_EULA.txt
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/NOKIA_lgpl.txt
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/README.txt
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/setup.exe
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/setup.ini
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/setup.inx
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/setup.isn
inflating: openc_temp/s60_open_c_cpp_plug_in_v1_7_en/_Setup.dll
Failed to open openc_temp/Installer/data1.cab as an InstallShield Cabinet File
Removing temporary files...
As you can see the script is trying to unshield the data1.cab but it is looking for it in the wrong place, that is:
openc_temp/Installer/data1.cab
instead of:
openc_temp/s60_open_c_cpp_plug_in_v1_7_en/data1.cab
so we need to correct this by editing lines 25,31,37,45 of install_openc_16_s60 replacing:
$TEMP/Installer/data1.cab
with:
$TEMP/s60_open_c_cpp_plug_in_v1_7_en/data1.cab
Now the script should successfully extract the needed files from the installer, but this is not enough, in fact it dies again with:
openc_temp/opencepoc32_3.1/epoc32: No such file or directory
Why? Well the script creates a temporary directory that is removed upon completion (or error) where all the files are extracted and is looking for the directory openc_temp/opencepoc32_3.1/epoc32 but the real directory is located at openc_temp/opencepoc32_3.1/EPOC32. I think the script tries to rename all files to lowercase by calling the lowercase perl script on the path, but for some strange reason it isn’t doing the job right so we need to resort to the oldest of hacks: manual editing!
To do so we need to prevent the script from deleting the temporary directory when it fails so that we can correct the directory name and re-execute the installer script. To achieve this simply comment out line 17 of install_openc_16_s60:
from:
trap "echo Removing temporary files...; rm -rf $TEMP" EXIT
to:
#trap "echo Removing temporary files...; rm -rf $TEMP" EXIT
When you have done this execute the script and when it dies manually browse to the location specified and rename the EPOC32 directory to epoc32 and re-execute the script (if it asks if you want to replace existing files select [N]one).
The error should popup 2 or 3 times for different paths and you should repeat the same steps every time.
This should be enough to get OpenC/C++ 1.7.5 installed in your GnuPoc environment!
Now download Qt libraries 4.6.3 for Symbian (210 MB): qt-symbian-opensource-4.6.3.exe
Next you simply need to follow the instructions in READEME.qt (found in gnupoc-package-1.16/sdks) by running:
./install_qt qt-symbian-opensource-4.6.3.exe -qt ~/symbian-sdks/qt_4.6.3 -sdk ~/symbian-sdks/s60_31
For me it all went ok except that the script failed near the end (line 92:1) with a syntax error (maybe some issues with my sh version?) so I had to manually run:
../tools/compile_qt_cross_tools ~/symbian-sdks/qt_4.6.3
This are quick and dirty hacks indeed, but they seem to work at the moment.
Let’s hope for a GnuPoc bugfix soon!
I really don’t understand why Nokia doesn’t provide an official SDK for linux. I know there are porting costs, but isn’t it always the case? I think this is even more absurd now that they released a Qt SDK for linux without an official toolchain! Do they seriously think that the remote compiler service can be a practical solution?
Once again, even if I appreciate the small steps toward the linux community, I’m left with the old impression that Nokia’s way of supporting development for their platform is messy and that it suffers from severe lack of organization.
I think they don’t understand (unlike Apple) that the success of their platform is heavily linked to the applications supporting it. They can do all the Ovi Store they want but without a proper set of development tools it will always be populated only by huge company developed apps (read Skype or Opera Mini), and I don’t know you, but I don’t think this is the real purpose of an app store.
No related posts.
Thanx. This helped me!
I’m glad it did!
And what about qt4.7 have you tried to build it on ?
I didn’t had the chance yet, mainly because I have an N95 that is an s60 phone, while Qt 4.7 is for N900 only I think
You should take part in a contest for one of the highest quality blogs
on the net. I am going to recommend this site!
Very soon this site will be famous amid all blogging users,
due to it’s good posts
You should take part in a contest for one of the finest blogs online.
I am going to recommend this website!
For hottest news you have to go to see world-wide-web and on the web I found
this web site as a best site for most recent updates.
Here is my weblog: work at home – binarymatrixpros.biz,
I’m really enjoying the theme/design of your weblog.
Do you ever run into any browser compatibility issues? A number of my blog
readers have complained about my website not operating correctly in Explorer but looks great in Firefox.
Do you have any recommendations to help fix this issue?
Look into my page … best workout supplements
This is my first time pay a visit at here and i am really happy to read all at alone place.
Feel free to surf to my web site sport nutrition resources
The web has truly changed the way we communicate and made it far easier to stay informed about the lives of our loved ones.
, it is best to go for affiliate marketing being an initial
step into the world of generating impartial income from home.
Daily, even hourly, businesses can see how
many individuals clicked on their ads and the traffic that is being driven to their
website.
You’re truly a good webmaster. The site loading pace is amazing. It sort of feels that you are doing any distinctive trick. Moreover, The contents are masterpiece. you have performed a magnificent task in this subject!
Houseboats in Echuca are ideal houseboats which have the accommodations that
allow you to relax and explore the lake with all the comforts of
any regular home. Be sure to go with fresh bait, and stay
away from the baits that are based on chicken or cat food.
A camera and photo album are another way for a family to record their boating trips.
Look into my blog post :: isotherm marine refrigerator parts
I’m gone to convey my little brother, that he should
also pay a visit this website on regular basis to obtain updated from most up-to-date gossip.
It’s nearly impossible to find educated people on this subject, but you seem like you know what you’re talking about!
Thanks
Also visit my blog … code generator psn
Excellent blog right here! Additionally your site a lot up very fast!
What web host are you the usage of? Can I am getting your associate hyperlink for your
host? I wish my web site loaded up as fast as yours lol
You actually make it seem really easy along with your presentation but I find this topic to be really something which I think I might
never understand. It seems too complex and extremely broad for me.
I am looking forward on your next submit, I’ll attempt
to get the hang of it!
Thus we became noobs on the water when we purchased our 1957 Sea King with a 1964 Johnson motor.
With the high temperature sensitivity of some perishable goods,
it’s easy to understand why so many companies rely on vacuum insulated panels
such a Thermo – Cor to ensure the quality of their products.
If you are a foreigner unlikely to return if allowed to leave, you will not
be able to post a bond.
My web site :: marine refrigerator best hid conversion kit reviews
I blog often and I truly thank you for your information. This article has really peaked my interest.
I am going to bookmark your blog and keep checking for new details
about once a week. I subscribed to your Feed as well.
I do believe all of the ideas you’ve introduced for your post.
They are very convincing and can certainly work. Nonetheless, the posts are
very brief for beginners. May you please extend them a little
from subsequent time? Thank you for the post.
Having read this I thought it was extremely enlightening.
I appreciate you spending some time and effort to put this article together.
I once again find myself personally spending a lot of time both reading and commenting.
But so what, it was still worthwhile!