Application development on LiMo device GTA02

28
Jun 2010

Imp:- The term LiMo here has nothing to do with any foundation.. it's out here as a generic term where Linux is used  on a mobile device along with other software stack to provide the needed functionality. 

The steps involved are clearly specified in qtmoko.org. It was a long procedure in my testbed with limited mem.. Even some of the errr as well as the outputs produced by the compilation process are given in quotes as it was important for me how I come to resolve some issues..

symbiotic env - (tested)
ubuntu - 8.04(LTS)
Qt-4.5.0
metacity

Currently have compiled version of Qt(4.5) with the downloaded toolchain with the output of echo $PATH having following result

ranjit@dell-laptop:~$ echo $PATH
/opt/toolchains/arm920t-eabi/bin:/usr/local/Trolltech/Qt-4.5.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

with the downloaded source of qtmoko  .... from the build dir give

ranjit@dell-laptop:~/qpe/build$ ../qtmoko/configure -device neo -D _FORTIFY_SOURCE=0 -confirm-license

got errr (ofcourse with -verbose arg)

 /opt/toolchains/arm920t-eabi/bin/ ../lib/gcc/arm-linux-gnueabi/4.3.2/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory

checked using ldd o/p

ranjit@dell-laptop:~/qpe$ ldd /opt/toolchains/arm920t-eabi/lib/gcc/arm-linux-gnueabi/4.3.2/cc1
    linux-gate.so.1 =>  (0xb7f69000)
    libmpfr.so.1 => not found
    libgmp.so.3 => /usr/lib/libgmp.so.3 (0xb7f0c000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7dbc000)
    /lib/ld-linux.so.2 (0xb7f6a000)

download the needed libmpfr as well as libgmp    dpkg --install will do

If everything is in place most porbably the much awaited outcome will be revealed

This is the Qt Extended Open Source Edition.

Skipping confirmation of the Qt Extended license agreement.

Testing the system Qt: OK
Qt Extended is using the following locations:
Qt          PREFIX      = /usr/local/Trolltech/Qt-4.5.0
Qt          LIBRARIES   = /usr/local/Trolltech/Qt-4.5.0/lib
Qt          BINARIES    = /usr/local/Trolltech/Qt-4.5.0/bin
Qt          HEADERS     = /usr/local/Trolltech/Qt-4.5.0/include
Qt Embedded SOURCE tree = /home/ranjit/qpe/qtmoko/qtopiacore/qt
Qt Embedded BUILD  tree = /home/ranjit/qpe/build/qtopiacore/target
Qt Extended SOURCE tree = /home/ranjit/qpe/qtmoko
Qt Extended BUILD  tree = /home/ranjit/qpe/build
Qt Extended SDK    tree = /home/ranjit/qpe/build/sdk

Checking the compiler (host): OK (GCC 4, Little Endian)
Checking the compiler (target): OK (GCC 4, Little Endian)
Bootstrap QBuild: ............................... OK
Testing QBuild: OK
Testing for ALSA: OK
Testing Media Engines: cruxus
Checking QMAKE_RPATH: -Wl,-rpath-link,
Testing for OpenSSL: OK
 

provide the much needed
make
make install
cmd and sit back or do your chores

The crosscompiling process is narrated in qtmoko.org

Just to check whether the file generated is for arm

ranjit@dell-laptop:~/qtmoko-dev/sam$ file sam
sam: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.14, dynamically linked (uses shared libs), not stripped

As a sample I have provided a scrappy scr shot of a dlg with some widgets like lineedit, label and pushbutton on it

But the look and feel of the stuffs created on desktop differs when ported on device. Well atleast got the things going. :-)

Some macros are defined for Qtopia which helps in creating an exact look and feel of window (developed on desktop).

QTOPIA_ADD_APPLICATION(QTOPIA_TARGET,Sample)

QTOPIA_MAIN

Thx to Radek polak for providing an amazing set of material to refer and many others who really made this work..