Active Topics

 


Reply
Thread Tools
Posts: 642 | Thanked: 486 times | Joined on Aug 2008
#1
I'm a Java developer mainly (currently a C# ish financial developer).

While I would love to be able to spend time on learning C++, Qt and various other tools I have little time. Thus I am creating this topic so people can help me answering questions that the tutorials etc cannot.

Anyway I'll be posting questions in the post below and will really appreciate the experts helping. I'm trying to develop apps for the Nokia N9 and contribute but it's always tricky. I'm sure like myself you expert Devs prefer coding and hate having to write long explanations but I would really appreciate it.

After all if you help me may be someday someone will help you.
 
Posts: 642 | Thanked: 486 times | Joined on Aug 2008
#2
First question:

I'm trying to compile Apache Axis2c for the Nokia N9 (or any LGPL or permissive licensing tool that allows me to do XML data binding).

I do believe I have successfully cross compiled this using scratchbox. However even after reading the tutorials I am a little clueless on Scratchbox (I installed i using the python installer file from Nokia).

My questions is how does scratchbox work? As I understand it's a sandboxed environment where you change 'profiles' between host and target(s) and then compile apps for the target environment, but how can it emulate the ARM cpu? Specifically what is CPU Transparency?
 
Posts: 468 | Thanked: 610 times | Joined on Jun 2006
#3
Originally Posted by rash.m2k View Post
First question:

I'm trying to compile Apache Axis2c for the Nokia N9 (or any LGPL or permissive licensing tool that allows me to do XML data binding).

I do believe I have successfully cross compiled this using scratchbox. However even after reading the tutorials I am a little clueless on Scratchbox (I installed i using the python installer file from Nokia).

My questions is how does scratchbox work? As I understand it's a sandboxed environment where you change 'profiles' between host and target(s) and then compile apps for the target environment, but how can it emulate the ARM cpu? Specifically what is CPU Transparency?
You could see scratchbox as a wrapper around cross-architecture compilation tools, a changed root environment and (optionally) an emulator or remote device.
All this is done to get good performance and good debug output.
If you compile something in a scratchbox target, it looks to the developer as if you are just compiling on a platform of the chosen target (for example compiling for Maemo on ARM). But actually you are using crosscompilation tools. Scratchbox hides that complexity.

When you run an ARM compiled binary you can configure scratchbox to run the file within a changed root environment using either an ARM emulator (QEMU), or running the binary on an actual ARM CPU over a network (for example using scratchbox remote shell on a N900).

Scratchbox is rather complex, and I found that you really do need to know how a lot of the stuff works when compiling more complex stuff, otherwise you don't get why somethings do what they do.

Development using QtSDK is a lot more user friendly (and almost as powerful ). It uses MADDE instead of Scratchbox. (both have very similar functions).
If you are developing for N9, you might want to upgrade to the latest Qt Creator after installing the latest SDK. There are some bugs when using N9 (limited size of packaged projects.)

You need scratchbox if you want to compile kernel modules, and it may be easier if you use a lot of libraries that are not included in the QtSDK targets.
 

The Following 4 Users Say Thank You to Bernard For This Useful Post:
Posts: 642 | Thanked: 486 times | Joined on Aug 2008
#4
I have both the Qt SDK (qt creator and the like) installed but also scratchbox. I needed scratchbox because I was trying to compile Apache Axis 2 C for the Nokia N9.

I looked at each makefiles and the ORDER in which they compile each sub project (Axis2C has a xml parser, utils etc and other stuff it needs to compile).

But I was having issues when it was trying to link the various libraries I had built - one of the subprojects just failed to merge the various .o files into a .a file! So I just gave up for the time being.

But this scratchbox means I now have .a and .so files available for me to use!

---------------------------------

Anyway onto the next question, how do I get Qt Creator to merge the library files i have created INTO the .deb file? Currently it doesn't even copy them to the shadow build directory (and thus fails when it tries to find the library - I have to copy then manually).

Part two of this question - if the project compiles successfully (with the libraries) then does that mean the library files are ok (i.e. of the same architecure?) or will I find out when I try to create a new object that uses that library?
 
Posts: 468 | Thanked: 610 times | Joined on Jun 2006
#5
I'm afraid I don't have answers to your questions.
 
Posts: 642 | Thanked: 486 times | Joined on Aug 2008
#6
Originally Posted by Bernard View Post
I'm afraid I don't have answers to your questions.
Nobody is an expert on everything.

What are you areas of expertise? If I need help in that area you'll be the person I call on first.

I myself am a java person, with a strong interest in Linux (my main OS in openSUSE) and virtualisation products (my dev environment is a Virtual Machine!). I already have a pure QML based app in the Ovi store.

If you need any help just drop me a line or to the post and I will help if I can.
 

The Following User Says Thank You to rash.m2k For This Useful Post:
Posts: 468 | Thanked: 610 times | Joined on Jun 2006
#7
Originally Posted by rash.m2k View Post
What are you areas of expertise?
I work on the development of iPhone games.
I also ported one of our previous games to N900 (Flare Elite).

I remember feeling overwhelmed when I started with OpenGL ES 2.0 programming on N900, I was very confused about development between all those different things like Scratchbox, MADDE, QtSDK, emulators, simulators, changed roots, targets etc. etc.
Figuring out how to do stuff took a lot of time. It is easier now to start with OpenGL ES 2.0 with the newer versions of QtSDK and projects like Qt Game Enabler and QML.

I love to tinker and hack with my desktop linux and mobiles. I used scratchbox to compile kernel modules for a DVB-T receiver on the N900 and for building some software from debian repositories for Maemo. For the game I used QtSDK and MADDE.
I don't have much experience with development using Scratchbox, I mostly use it as a tool for compiling other peoples work.
 
Posts: 1,463 | Thanked: 1,916 times | Joined on Feb 2008 @ Edmonton, AB
#8
Originally Posted by rash.m2k View Post
Anyway onto the next question, how do I get Qt Creator to merge the library files i have created INTO the .deb file? Currently it doesn't even copy them to the shadow build directory (and thus fails when it tries to find the library - I have to copy then manually).

Part two of this question - if the project compiles successfully (with the libraries) then does that mean the library files are ok (i.e. of the same architecure?) or will I find out when I try to create a new object that uses that library?
there's always some way to do this stuff with qmake. edit the pro file and add the libs like this:

INCLUDEPATH += /usr/include/
#t:\ is mapped to /scratchbox/ on my VMware machine; seems to work fine like this
LIBS += -ldl t:\users\lance\targets\HARMATTAN_ARMEL\usr\lib\lib mkcal.so
LIBS += -ldl t:/users/lance/targets/HARMATTAN_ARMEL/usr/lib/libkcalcoren.so
INCLUDEPATH += /usr/include/kcalcoren
INCLUDEPATH += /usr/include/mkcal


sorry some ******* gave your thread a bad rating and tagged it...
__________________

Last edited by Creamy Goodness; 2012-07-17 at 01:01.
 
sifo's Avatar
Posts: 1,359 | Thanked: 1,292 times | Joined on Oct 2011 @ Tartus.Syria
#9
a noob fast question
i've just downloaded Qt-SDK and went to Qt creator when i want to use an example and choose a target ! opps maemo 5 is not in there ! only Harmattan and Symbian i think i downloaded the latest release
can any one please give link or anything that can lead me to the correct Qt tools for developing for maemo 5 ?

and im using Winblows 7 32-bit now :/

any reply appreciated

./sifo
__________________
[ N900-Crack ] [ The Purge ] [ New Smiles ] [ New icons ] [ ? ]
" Hey ! I've just met you and this is crazy, so install cssu maybe ? "
Please help out keeping Maemo.org alive, and consider donating.
https://www.facebook.com/ZoRk7

Last edited by sifo; 2012-07-17 at 01:25.
 
Posts: 1,463 | Thanked: 1,916 times | Joined on Feb 2008 @ Edmonton, AB
#10
qt creator should work, try making a widgets project.
__________________
 

The Following User Says Thank You to Creamy Goodness For This Useful Post:
Reply

Tags
google_ffs, jfgi!


 
Forum Jump


All times are GMT. The time now is 09:40.